Summary一下JAVABasic知识如:注释、关键字、标识符、DataType、变量、DataType转换等BasicSyntax。初学者可参考看看。
1、程序注释
-
单行注释:
//xxxxxx -
多行注释:
/* xxxxxx */ -
文档注释:
/** xxxxxx */
2、关键字
关键字:是被Java语言赋予特殊含义,具有专门用途的单词。所有的Java关键词,都是小写。关键词比较多,不用刻意去背,以后用多了自己就记住了。
3、标识符
Java中除了关键字以外基本上都是标识符。我们自己定义的词,比如自己定义的HelloWorld。
标志符命名规则:
标志符组成:字母、数字、下划线、美元符号
字母:a~z、A~Z
数字:0-9
下划线:_
美元符号:$
注意:不能数字开头,不能是关键字,严格区分大小写,不限制长度起名时,尽量达到见名知意。
4、数据类型
DataType分为基本DataType和引用DataType。
A、基本DataType:4类8种(4类展开后共8种基本类型),基本数据类型是JAVA中内置的类型。
第一类:整型
-
字节
byte 1个字节 二进制位数:8 -128~127 -
短整型
short 2个字节 二进制位数:16 包装类:java.lang.Short 最小值:Short.MIN_VALUE=-32768 (-2的15此方) 最大值:Short.MAX_VALUE=32767 (2的15次方-1) -
整型
int 4个字节 二进制位数:32 包装类:java.lang.Integer 最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方) 最大值:Integer.MAX_VALUE= 2147483647 (2的31次方-1) -
长整型
long 8个字节 二进制位数:64 包装类:java.lang.Long 最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方) 最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)
第二类:浮点型
-
单精度
float 4个字节 二进制位数:32 包装类:java.lang.Float 最小值:Float.MIN_VALUE=1.4E-45 (2的-149次方) 最大值:Float.MAX_VALUE=3.4028235E38 (2的128次方-1)注意:必须已“F”结尾,java才认为是floatType,否则默认认为是doubleType。
-
双精度
double 8个字节 二进制位数:64 包装类:java.lang.Double 最小值:Double.MIN_VALUE=4.9E-324 (2的-1074次方) 最大值:Double.MAX_VALUE=1.7976931348623157E308 (2的1024次方-1)注意:必须以“D”结尾,java中默认的浮点Type是doubleType。
第三类:字符型
char 2个字节 二进制位数:16 表示一个字符,如('a','2','家')
注意:用单引号包裹起来,并且其中只能包含一个字符,必须填写。一个汉字=2个字节=16位,所以一个中文字符刚好可以装下。
第四类:布尔型
boolean 1个字节 只有2个值true与false
只记基本DataType的字节数,以及byte取值范围127~-128即可,其它不用记,一般Development中Usageint、double、char、boolean。
B、引用DataType:分别是数组、类、接口
引用Data是强大的DataType,它是基于基本DataTypeCreate的。JavaSE中提供了一个超级类Library,类Library中包含了近万种引用DataType。
5、常量
JAVA中Data量分为常量和变量。常量就是不变的Data量,任何Data量都是有其Type的,常量就是整数Type。
整数表示方式有十进制、二进制、十六进制、八进制,它们之间的转换(自行谷歌/百度)。
整数常量是byte、short、int、long中的哪种Type呢?
整数常量可以根据所在范围来确定Type,java中默认的整数Type是intType。longType必须添加“L”后缀,java才知道其Type,不加”L”,java会将其当作intType。默认浮点Type为douleType。float需要加“F”后缀,double需加“D”后缀。
1267:没有L后缀,为int类型,但是超出int范围,会报错。
12L:为long类型.
3.1:没有后缀,所以为double类型。
2.34D:为double类型。
1.45F:为float类型。
6、变量
Java变量应用最多的。内存DataRun时,临时StorageData的地方。变量就是内存中装载Data的小盒子,只能用来存Data和取Data,DataType定义了就不能改变了,里面的Data可以变化的。

定义变量格式:
数据类型 变量名 数据值
int num = 100;
注意:变量必须要有明确的Type,什么Type的变量装载什么Type的Data,同时也要指定变量能装载多大的Data。Data值不指定,不能Usage,Compile时不会Error,但是Run时会Error。变量名必须满足标识符规则,才能作为变量来Usage。
7、字符串
字符串Type,值用""双引号包裹起来,属于引用DataType。
String str = "Hello World";
注意:字符串Sring不属于基本DataType,属于JAVA中的引用Type,但是定义、Usage和基本DataType定义类似。
标记一下,后面详细记录StringType
8、变量使用注意事项
-
变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
Error演示:
/** * 变量Usage注意事项演示 * Error演示:变量没有赋值 */ public class ErrorVariable{ public static void main(String[] args){ int i; System.out.println(i); } }输出结果:
ErrorVariable.java:9: Error: 可能尚未初始化变量i System.out.println(i);正确演示:
/** * 变量Usage注意事项演示 * 正确演示 */ public class CorrectVariable{ public static void main(String[] args){ int i; i = 100; int j = 200; System.out.println(i); System.out.println(j); } }输出结果:
100 -
变量是有自己的作用范围,变量的有效范围为:定义的一对大括号内.
Error演示:
/** * 变量Usage注意事项演示 * Error演示:变量有效范围 */ public class ErrorVariable2{ public static void main(String[] args){ { int i = 100; } System.out.println(i); } }输出结果:
ErrorVariable2.java:11: Error: 找不到符号 System.out.println(i); ^ 符号: 变量 i 位置: 类 ErrorVariable2 1 个Error -
变量不能重复定义
Error演示:
/** * 变量Usage注意事项演示 * Error演示:变量不能变量重复定义 */ public class ErrorVariable2{ public static void main(String[] args){ int a = 50; int a = 30; } }输出结果:
ErrorVariable3.java:9: Error: 已在Method main(String[])中定义了变量 a int a = 30; ^ 1 个Error
变量UsageSummary:1、变量没有赋值不能Usage 2、变量有效范围 3、变量不能重复定义
9、数据类型代码演示
-
定义Java八种基本数据类型变量
/** * 定义Java八种基本DataType变量。 * 变量只能存一个值,以最后一个值为准。 */ public class DataType{ public static void main(String[] args){ //字节Type(127~-128) 1个字节 byte b = 127; //短整型 2个字节 short s = 128; //整型 4个字节 int i =111111; //长整型 8个字节 long l = 22222222222222L; System.out.println(b); System.out.println(s); System.out.println(i); System.out.println(l); //单精度 4个字节 float f =1.176F; //双精度 8个字节 double d =1.100D; System.out.println(f); System.out.println(d); //字符Type 2个字节 //注意:必须有值,空字符也可以,必须单引号包裹起来。 char c ='6'; //char c2 =''; 这个没有值,会Error。 char c3 =' '; System.out.println(c); System.out.println(c3); //布尔Type 1个字节 只有2个值,true和false boolean boo = true; boolean boo2 = false; System.out.println(boo); System.out.println(boo2); } }输出结果:
127 128 111111 22222222222222 1.176 1.1 6 true false -
数据类型
/** * DataType演示 */ public class DemoOne{ public static void main(String[] args){ //输出整数 十进制 System.out.println(50); //输出整数 二进制,数字开头oB System.out.println(0B11); //输出整数 八进制,数字开头0 System.out.println(0537); //输出整数 十六进制,数组开头0X 0-9 A-F System.out.println(0XE); //输出浮点数 System.out.println(3.2); //输出布尔Data,只有2个值,true/false System.out.println(true); System.out.println(false); //输出字符常量,单引号包裹,只能写1个字符(无论是汉字、数组、字母),都是一个字符。 //注意:不写也不行,不写会Error,但可以写一个空字符。 System.out.println('6'); System.out.println(' '); //输出字符串。 //注意:可以什么都不写,就为一个空字符。 System.out.println(""); } }输出结果:
50 3 351 14 3.2 true false 6注意:最后输出的2个为空。
-
字符串类型演示
/** * 字符串,引用Type * 常量:字符串,""双引号包裹起来 * 注意:字符串Sring不属于基本DataType,属于JAVA中的引用Type,但是定义、Usage和基本DataType定义类似。 */ public class StrVariable{ public static void main(String[] args){ String str = "Hello World"; System.out.println(str); } }输出结果:
Hello World强烈推荐阿里巴巴JAVADevelopment手册,程序员必备手册。
10、数据类型转换
DataType转换分为自动转换和强制转换。不同Type的变量是否可以一起运算?答案是可以的,但是需要先进行DataType转换,再运算。

Data转换遵循原则:
范围小的DataType值,可以直接转换为范围大的DataType值。
范围大的DataType值,不可以直接转换为范围小的DataType值。
各种DataType按照Data范围从小到大依次列出:
byte -> short -> int -> long -> float -> double
A:自动Type转换:表示范围小的DataType转换成范围大的DataType,这种方式称为自动Type转换。
自动转换格式:
范围大的DataType 变量 = 范围小的DataType值;
/**
* DataType转换
* 自动转换:取值范围小的Data值,会自动转换成取值范围大的值。
* 注意:boleanType不能参与转换
*/
public class DataTypeConversion{
public static void main(String[] args){
//doubleType变量
double d = 10000; //出现Type自动转换,int自动转换成double
System.out.println(d);
int i =100;
double d2 = i; //出现Type自动转换,int自动转换成double
System.out.println(d2);
byte b =10;
int j = b; //自动Type转换,byteType自动转换成intType
System.out.println(j);
}
}
注意:boleanType不能参与转换
B:强制转换:把DataType取值范围大的,转换成DataType取值范围小的。
DataType强制转换公式:
被转后的DataType 变量名 = (被转换后DataType)要被转的Data;
/**
* 强制DataType转换
*/
public class DataTypeConversion2{
public static void main(String[] args){
//double浮点,转成int
double d = 3.14;
//被转后的DataType 变量名 = (被转换后DataType)要被转的Data
int i = (int)d;
System.out.println(i);
//类似大桶中的水倒入小桶,水肯定会Lost(精度Lost)
byte b = (byte)200;
System.out.println(b);
}
}
输出结果:
3
-56
注意:强制Type转换,实际Development中没有要求强制转换时,不转换,不然会Lost精度 ,除非要求转换才做强制转换。
11、运算符
运算符分为:算术运算符、赋值运算符、比较运算符、三元运算符。
-
算术运算符
运算符是用来计算Data的符号。Data可以是常量,也可以是变量。被运算符操作的数我们称为操作数。
算术运算符最常见的操作是将操作数参与数学计算,如下:
运算符 运算规则 范列 结果 + 正号 +3 3 + 加 2+3 5 + 字符串连接 "你"+"好" 你好 - 负号 int a=3;-a -3 - 减号 3-1 2 * 乘 2*3 6 / 除 5/2 2 % 取模 5/2 1 ++ 自增 int a=1;a++/++a 2 -- 自减 int b=3;b--/--b 2算术运算符演示:
/** * + 加法,连 * - 减法 * * 乘法 * / 除法 * % 取模(求余数) * ++ 自增 * -- 自减 */ public class Operator{ public static void main(String[] args){ // + 连接作用,将一个字符串和其他Data连接起来 // 遇到字符串,变成连"5+4=54" // + 任何Type只要和字符串+,所有的Data都变成了字符串。 System.out.println("5+4="+5+4); //除法运算 //java中,整数除法运算最后只会得到整数 int i = 100; int j = 9; System.out.println(i/j); //取模运算,两数相除,Get的余数 int k =6; int m =4; System.out.println(k%m); //++/-- 自增/自减运算 int a = 3; int b = 3; a++; //变量a自己增加1 System.out.println(a); ++b; System.out.println(b); //====================================================== //++:写在变量前面,和写在后面的,区别 int c = 3; int d = 3; ++c; d++; //结论:符号写在前面,还是后面,在变量自己独立计算的时候,没有区别。 //但是变量,要是参与了其它运算,就有区别了。 //f = e++,++后算,先将e的值赋予f,然后e再自增1. //q = ++h,++先算,先将h自增1,后再赋值给q。 //======================Test============================ int e = 5; int f = e++; System.out.println(e); System.out.println(f); int h = 5; int q = ++h; System.out.println(h); System.out.println(q); } }输出结果:
5+4=54 11 2 4 4 6 5 6 6++:写在变量前面,和写在后面的,区别:
符号写在前面,还是后面,在变量自己独立计算的时候,没有区别。但是变量,要是参与了其它运算,就有区别了。
f = e++,++后算,先将e的值赋予f,然后e再自增1. q = ++h,++先算,先将h自增1,后再赋值给q。— 与++类似,不再做说明。
-
赋值运算符
赋值运算符就是为变量赋值的符号。
赋值运算符的Usage如下:
运算符 运算规则 范例 结果 = 赋值 int a=2 2 += 加后赋值 int a=2,a+=2 4 -= 减后赋值 int a=2,a-=2 0 *= 乘后赋值 int a=2,a*=2 4 /= 整除后赋值 int a=2,a/=2 1 %= 取模后赋值 int a=2,a%=2 0注意:诸如+=这样形式的赋值运算符,会将结果自动强制转成等号左边的DataType。
public class Operator2{ public static void main(String[] args){ int a = 1; a+=4.8; System.out.println(a); int b = 10; b%=3.3; //会先把10转成double 10.0 然后相除余数0.1,去整数0. System.out.println(b); int h = 10; //h=h%3.3; 会报 不兼容的Type: 从double转换到int可能会有损失 System.out.println(h); int c = 10; double d=3.3; System.out.println(c/d); System.out.println(c%d); byte m =1; //m = m + 1; //出错,会Lost精度,类似把小桶加大桶的水,放到小桶。 m=(byte)(m+1);//通过强转就可以。 m+=1;//这种加就包含了上面的强转,因此推荐Usage+=这种 System.out.println(m); } }输出结果:
5 0 10 3.0303030303030303 0.10000000000000053 3注意:在运算时,都会往Type占有字节大的转换后再运算,除/余数运算,结果去整数。
-
比较运算符
比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true/false。
运算符 运算规则 范例 结果 == 相等于 4==3 false != 不等于 4!=3 true < 小于 4<3 false > 大于 4>3 true <= 小于等于 4<=3 false >= 大于等于 4>=3 true注意:赋值运算符的=符号与比较运算符的==符号是有区别的:
赋值运算符的=符号,是用来将=符号右边的值,赋值给=符号左边的变量。
比较运算符的==符号,是用来判断==符号左右变量的值是否相等的。
/** * 赋值运算符 */ public class Operator3{ public static void main(String[] args){ int a = 3; int b = 4; System.out.println(a=b); System.out.println(a==b); System.out.println(a==3); System.out.println(a!=3); } }输出结果:
4 true false true -
逻辑运算符
逻辑运算符,是用于布尔值进行运算的,结果为布尔值true或false
运算符 运算规则 范例 结果 & 与 false&true false | 或 false|true true ^ 异或 true^false true ! 非 !true false && 短路与 false&&true false || 段落或 false||false true逻辑运算符通常是对两个TypeData之间进行计算,结果也是booleanType。
/** * 逻辑运算符 */ public class Operator4{ public static void main(String[] args){ //一边是false,运算结果就是false System.out.println(false & false); System.out.println(false & true); System.out.println(true & true); //一边是true,结果就是true System.out.println(false | false); System.out.println(false | true); System.out.println(true | true); ////两相同就是false,不同为true System.out.println(false ^ false); System.out.println(false ^ true); System.out.println(true ^ true); //取反 System.out.println(!false); System.out.println(!true); //前边是false,后边不Run,结果为false。比&效率高 System.out.println(false && false); System.out.println(false && true); System.out.println(true && true); //前边是true,后边不Run,结果为true。比|效率高 System.out.println(false || false); System.out.println(false || true); System.out.println(true || true); } }输出结果:
false false true false true true false true false true false false false true false true true重点:
&与&&区别: 短路与&&,前面不成立(false),后面就不运算了,结果为不成立(false)。 |与||区别: 短路或||,前面成立,后面就不运算了,结果为成立(true)。 -
三目运算符
之前的均为一元或二元运算符,元就是参与运算的Data。
例如: 3+5,Usage算术运算符将操作数联系起来,这种情况,称为:算符Expression。 3>2,Usage比较运算符(条件运算符)将操作数联系起来,称为:条件Expression 其它Expression类似。
三目运算符格式:
(条件Expression)? Expression1 : Expression2 Expression:几通过Usage运算符将操作数联系起来的式子。三目运算符运算规则:
先判断条件Expression的值,为true,结果则为Expression1,为false,结果为Expression2.
/** * 三目运算符 */ public class Operator5{ public static void main(String[] args){ int a =2; int b=6; System.out.println(a>b ? a+b : b-a); System.out.println(a<b ? a+b : b-a); String c = 9>4 ? "Hello" : "呵呵"; System.out.println(c); } }输出结果:
4 8 Hello