Java的基础语法
Posted 陈小玉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java的基础语法相关的知识,希望对你有一定的参考价值。
Java基础语法
注释
注释不会被执行
-
单行注释: //注释
-
多行注释:/* 注释 */
- 文档注释: /** 注释 */
标识符
Java的组成,如变量名、方法名、类名等都被称为标识符。
关键字
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | double | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | stritfp | short | static | super |
switch | synchronized | this | throw | throws |
translent | try | void | volatlle | while |
注意
- 标识符的首字母只能用字母(大小写)、下划线(_)、美元符号($)、
- 首字母之后可以用字母(大小写)、下划线(_)、美元符号($)、数字的组合
- 标识符是大小写敏感的
- 不能使用关键字做为类名或方法名等
- 可以使用中文命名,但尽量不要
数据类型
Java分为两种数据类型,分别为基本数据类型和引用数据类型
string不是基础数据类型,是一个类
基本数据类型
整数型
int
byte
short
long :在数字后要加一个L作为标识
浮点型:小数
float :在数字后要加一个F作为标识
字符型: 只能是一个字符
char
布尔值:是非
boolean
引用数据类型
- 类
- 接口
- 数组
数据类型拓展
整数型
进制 :在数字前加数字,更换进制
- 二进制0b
- 十进制
- 八进制0
- 十六进制0x
浮点型
因为浮点是有限位,且离散,有舍入误差,大约,接近但不等于,所以最好完全避免使用浮点数进行比较
银行业务怎么表示钱?
使用Bigdecimal 数学工具类
字符型
所有字符本质上都是数字
使用编码 unicode 表:U0000-UFFFF
转义字符
- 制表符\\t
- 换行符\\n
对象
String a=new String(oriqinal:"hello world");
String b=new String(oriqinal:"hello world");
String.out.println(a=b);
String c="hello world";
String d="hello world";
String.out.println(c=d);
结果为
false
true
原因要从内存分析
布尔值
boolean flag =true;
if(flag==true){}//新手
if(flag){}//熟练
类型转换
低---------------------------------------------------→高
byte,short,char→int→long→float→double
强制类型转换
当将类型高的数据转换为类型低的数据时,进行强制转换
(类型)变量名
注意:强制类型转换可能导致内存溢出
自动类型转换
当将类型低的数据转换为类型高的数据时,将进行自动转换
自动转换将自动进行
注意
操作比较大的数时,注意溢出问题
容易有内存溢出问题或精度问题
不能对布尔值进行转换
不能将对象类型转化为不相干的类型
变量
变量是程序中的最基本存储单元,要素包括变量名,变量类型和作用域
//数据类型 变量名 =值;
注意:
- 每个变量都有类型,可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
- 每个声明都必须以分号结束
作用域
- 局部变量:必须声明初始值,作用域为括号内{}
public static void main(String[] args){
int a = 1;//局部变量
}
-
实例变量:从属于对象,如果不自行初始化,会为这个类型的默认值 0、0.0
布尔值:默认是false
除了基本类型,其余的类型默认值都是null
public class Day1_2{ int age; }
-
类变量:static,作用域为整个类
public class Day1_2{
static int a =1;
}
常量
初始化后不能再改变值,不会变动的值
//final 常量名 =值
final A =1.0;
注意:常量名一般全部使用大写字符
修饰符不区分前后顺序
变量的命名规范
所有变量、方法、类名:见名知意
除常量:大写字母和下划线
驼峰原则:除了第一个单词外,其余单词首字母大写
类名:首字母大写和驼峰原则
其余都用:首字母小写和驼峰原则
运算符
运算符分为一元运算符、二元运算符等,x元运算符表示有几个运算的数据
- 算术运算符:+、-、*、/、%(取余,又称模运算)、++、--
- 赋值运算符 =
- 关系运算符:>、<、>=、<=、==、!=、instanceof
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、~、>>、<<、>>>(暂时只需了解)
- 条件运算符:?、:
- 拓展赋值运算符:+=、-=、*=、/=
整数运算具有long类型的数据时,输出结果的数据为long,其余皆为int类型
运算时,如果有高一级的数据,则输出结果的数据为高一级的数据
整数运算时,如果出现小数,会出现精度问题
幂运算不是^,想要进行幂运算要借助数学类工具
Math.pow(x,y)//=x^y
许多运算都需要借助类工具Math.
-
自增自减运算符:++、--……
作用:给数据+1或-1
int a =1
a++ //此时a=2
a++与++a的区别
运算符在前(如++a)则先运算,再赋值
运算符在后(如a++)则先赋值,再运算
int a =1
int b = a++ //此时b=1,a=2
int c = ++a //此时c=3,a=3
-
逻辑运算符:&&、||、!输出值为布尔值
&&:只有运算的两个数据都为真,则输出true
||:只要运算的其中一个数据为真,则输出true
!:运算真,输出假
逻辑运算为短路运算,即如果执行代码时,如果第一个数据可以判断输出结果,则不会继续进行运算
int c =1;
System.out.println((c>1)&&(c++));
System.out.println(c);
输出结果为
false
1
因为在第一个括号内c>1已经判断是假,则结果一定为假,因此c++不会被执行
-
位运算符:&、|、!、>>、<<、>>>、^(异或)
位运算符运算时是基于二进制的运算
位运算符运算效率极高!
/* A=0010 0110 B=1001 0101 ------------------- A&B=0000 0100 A|B=1011 0111 A^B=1011 0011 !B=0110 1010 ------------------- << =*2 >> =/2 0000 0001 1 0000 0010 2 <<1 =2 */
-
拓展赋值运算符:+=、-=……
a+=b //a=a+b
a-=b //a=a-b
- 条件运算符:?、:
x?y:z //判断条件x,如果结果为true则执行y,如果结果为false则执行z
- 运算符优先级
优先级从高到低,优先级为1的优先级最高,优先级为14的优先级最低
包机制
- 包机制用于区别类名的命名空间
语法格式为:
package pkg1[.pkg2[.pkg3...]];
- 一般利用公司域名倒置作为包名
- 为了使用某个包的成员,需要在程序中导入包,使用"import"语句
import package1[.package2....].(类名或*);
JavaDoc
- javadoc命令是用来生产自己的API文档的
- 参数信息
- @author 作者名
- @version 版本号
- @since 指明需要最早使用的JDK版本
- @param 参数名
- @return 返回值情况
- @throws 异常抛出情况
使用:
javadoc 参数 java文件
以上是关于Java的基础语法的主要内容,如果未能解决你的问题,请参考以下文章