目录
一、代码注释
单行注释://注释内容
多行注释:/*
注释内容1
注释内容2
...
*/
(*注意:在多行注释中可以嵌套单行注释,但多行注释不能嵌套多行注释*)
二、变量与常量
1、标识符
由数字、字母、下划线、$符构成
数字不可以作为标识符开头
*注意避开关键字*
2、变量与常量
变量:
int x=30;//声明int型变量x,并赋值30 int y; //声明int型变量y y = 1; //给变量y赋值1 y = 25; //给变量y赋值25
常量:
final int PI=3.14;//final 数据类型 常量名称[=值]
public class ConstantTest {//创建类
public static void main(String[] args) {//主方法
final double PI = 3.14;//声明常量PI
System.out.println("常量PI的值为:"+PI);//输出常量PI的值
System.out.println("半径为3的圆的周长为:"+(PI*2*3));//使用常量
System.out.println("半径为4的圆的面积为:"+(PI*4*4));//使用常量计算
}
}
三、基本数据类型
1、整数类型
public static void main(String[] args) {//主方法
int a=11;//十进制整型
System.out.println(a);//输出十进制表示的整型值
int b=011;//八进制整型
System.out.println(b);//输出八进制表示的整型值
int c=0x11;//十六进制整型
System.out.println(c);//输出十六进制表示的整型值
运行结果
2、浮点类型
public static void main(String[] args) {//主方法
double d=4.35*100;//用double计算4.35*100的结果
System.out.println("d="+d);//输出这个double值
int e=(int) d;//将double类型强制转换成int类型
System.out.println("e="+e);//输出int值
System.out.println("d的四舍五入值="+Math.round(d));//使用四舍五入
}
运行结果:
代码如下:
public static void main(String[] args) {//主方法
double f=0.1;//定义double变量
double g=2.0-1.9;//定义double变量
System.out.println("f="+f);//输出运算结果
System.out.println("g="+g);//输出运算结果
System.out.println("f==g的结果:"+(f==g));//f==g的结果是false
/*
* math.abs()是取绝对值的方法,1e-6表示1*10的-6次方,是计算机中最小数的概念。
* 如果两数之差的绝对值小于最小数,则认为这两个数是相同的。
*/
boolean bool =Math.abs(f-g)<(1e-6);//赋值比较运算
System.out.println("两数之差的绝对值小于最小数的结果:"+bool);
}
运行结果:
3、字符类型
-char 2
转义字符:
代码如下:
public static void main(String[] args) {//主方法
char c1='\\';//反斜杠转义字符
char c2='\'';//单引号转义字符
char c3='\"';//双引号转义字符
char c4='\u2605';//16进制表示的字符
char c5='\101';//8进制表示的字符
char c6='\t';//制表符转义字符
char c7='\n';//换行符转义字符
System.out.println("["+c1+"]");//输出c1的结果
System.out.println("["+c2+"]");//输出c2的结果
System.out.println("["+c3+"]");//输出c3的结果
System.out.println("["+c4+"]");//输出c4的结果
System.out.println("["+c5+"]");//输出c5的结果
System.out.println("["+c6+"]");//输出c6的结果
System.out.println("["+c7+"]");//输出c7的结果
}
运行结果:
布尔类型:
-boolean
-true
-false
代码如下:
public static void main(String[] args) {//主方法
boolean h;//声明布尔型变量h
boolean h1,h2;//声明布尔型变量h1、h2
boolean h3 = true, h4 = false;//声明布尔型变量h1赋值给初值true,h2赋值给初值false
boolean h5=2<3,h6=(2==4);//声明布尔型变量赋与逻辑判断的结果
System.out.println("h5的结果是:"+h5);//输出h5的结果
System.out.println("h6的结果是:"+h6);//输出h6的结果
}
运行结果:
四、数据类型转换
自动转换\隐式转换:
int a=3;
double b=a;
强制转换/显示转换:
double c=3.5;
int d=(double) c;
隐式转换
public static void main(String[] args) {//主方法
//声明byte型变量mybyte,并把byte型变量允许的最大值赋给mybyte
byte mybyte = 127;//赋值127
int myint = 150;//声明int型变量myint,并赋值150
float myfloat =452.12f;//声明float型变量myfloat,并赋值
char mychar =10;//声明char型变量mychar,并赋值
double mydouble =45.46546;//声明double型变量,并赋值
/*将运算结果输出*/
System.out.println("byte型与float型数据进行运算结果为:"+(mybyte+myfloat));//输出结果
System.out.println("byte型与int型数据进行运算结果为:"+mybyte*myint);//输出结果
System.out.println("byte型与char型数据进行运算结果为:"+mybyte/mychar);//输出结果
System.out.println("double型与char型数据进行运算结果为:"+(mydouble+mychar));//输出结果
}
}
运行结果:
显式转换
public static void main(String[] args) {//主方法
int a=(int)45.23;//double类型强制转换成int类型
long b=(long)456.6F;//float型强制转化成long类型
char c=(char)97.14;//double型强制转化成char型
System.out.println("45.23强制转化成int的结果:"+a);//输出a的结果
System.out.println("456.6F强制转化成long的结果:"+b);//输出b的结果
System.out.println("97.14强制转化成char的结果:"+c);//输出c的结果
}
}
运行结果:
五、运算符
-赋值运算符
变量名=变量值
public static void main(String[] args) {//主方法
int a,b,c=11;//声明整型变量a,b,c
a=32;//将32赋值给变量a
c=b=a+4;//将a与4的和先赋值给变量b,再赋值给变量c
System.out.println("a="+a);//输出a的结果
System.out.println("b=:"+b);//输出b的结果
System.out.println("c=:"+c);//输出c的结果
}
运行结果:
-算数运算符
+、-、*、/、%取余
public static void main(String[] args) {//主方法
float num1=45.2f;//定义float型变量并赋值
int num2=120;//定义int型变量并赋值
int num3=17,num4=10;//定义int型变量并赋值
System.out.println("num1+num2的和为:"+(num1+num2));//输出运算和结果
System.out.println("num1-num2的和差为:"+(num1-num2));//输出运算和差结果
System.out.println("num1*num2的积为:"+(num1*num2));//输出运算积结果
System.out.println("num1/num2的商为:"+(num1/num2));//输出运算商结果
System.out.println("num3/num4的余数为:"+(num3%num4));//输出运算余数结果
}
运行结果:
-自增自减运算符
符号在前:++i、--i 先计算后使用
符号在后:i++、i-- 先使用后计算
public static void main(String[] args) {//主方法
int a=1;
System.out.println("a="+a);//输出此时a的值
a++; // a自增+1
System.out.println("a++="+a);//输出此时a的值
a++; // a自增+1
System.out.println("a++="+a);//输出此时a的值
a++; // a自增+1
System.out.println("a++="+a);//输出此时a的值
a--; // a自增-1
System.out.println("a--="+a);//输出此时a的值
}
运行结果:
-关系运算符
a==b 判断a和b是否相等
a!=b 判断a和b是否不等
a>b 判断a是否大于b
a<b 判断a是否小于b
a>=b 判断a是否大于等于b
a<=b 判断a是否小于于等于b
代码如下:
public static void main(String[] args) {//主方法
int num1=4,num2=7;//定义int型变量并赋值
int num3=7;//定义int型变量并赋值
System.out.println("num1<num2的结果:"+(num1<num2));//输出比较后结果
System.out.println("num1>num2的结果:"+(num1>num2));//输出比较后结果
System.out.println("num1==num2的结果:"+(num1==num2));//输出比较后结果
System.out.println("num1!=num2的结果:"+(num1!=num2));//输出比较后结果
System.out.println("num1<=num2的结果:"+(num1<=num2));//输出比较后结果
System.out.println("num2>=num3的结果:"+(num2>=num3));//输出比较后结果
}
运行结果:
-逻辑运算符
&& 与 并且 a&&b 如果前者为假,后者无需判断 (有短路现象)
|| 或 或者 (有短路现象)
! 非 取反 (非假既真,非真既假)
public static void main(String[] args) {//主方法
int a=2;//声明int型变量a
int b=5;//声明int型变量b
//声明boolean型变量,用于保存应用逻辑运算符“&&”后的返回值
boolean result=((a>b)&&(a!=b));
//声明boolean型变量,用于保存应用逻辑运算符“||”后的返回值
boolean result2=((a>b)||(a!=b));//对数值进行处理
System.out.println(result);//将变量result输出
System.out.println(result2);//将变量result2输出
}
运行结果:
-位运算符
位逻辑运算符
& 与 并且 (无短路现象)
| 或 或者 (无短路现象)
^ 异或 判断两者是否不一样,不一样就是真
~ 非 取反 非假既真,非真既假
位移运算符
<< 左移 乘以2的n次方
>> 右移 除以2的n次方
往下取整 例:31 15.5 15
-31 -15.5 -16
>>> 无符号右移 结果一定为正数
位逻辑运算符
public static void main(String[] args) {//主方法
short x = ~123;//创建short变量x,等于123取反的值
System.out.println("12与8的结果为:"+(12&8));//位逻辑与计算整数的结果
System.out.println("4或8的结果为:"+(4|8));//位逻辑或计算整数的结果
System.out.println("31异或22的结果为:"+(31^22));
//位逻辑异或计算整数的结果
System.out.println("123取反的结果为:"+x);//位逻辑取反计算整数的结果
System.out.println("2>3与4!=7的与结果:"+(2>3&4!=7));
//位逻辑与计算布尔值的结果
System.out.println("2>3与4!=7的或结果:"+(2>3|4!=7));//位逻辑或计算布尔值的结果
System.out.println("2<3与4!=7与异或结果:"+(2<3^4!=7));//位逻辑异或计算布尔值的结果
}
运行结果:
位移运算符
public static void main(String[] args) {//主方法
int m=24;//定义int型变量并赋值
System.out.println(m+"右移两位的结果是:"+(m>>2));//输出经过处理后结果
int n=-16;//定义int型变量并赋值
System.out.println(n+"左移三位的结果是:"+(n>>3));//输出经过处理后结果
int p=-256;//定义int型变量并赋值
System.out.println(p+"无符号右移两位的结果是:"+(p>>>2));//输出经过处理后结果
}
运行结果:
无符号右移
public static void main(String[] args) {//主方法
byte a=(byte)(-32>>>1);//定义byte
System.out.println("byte无符号右移的结果:"+a);//输出a
short b=(short)(-128>>>4);//对数据进行处理
System.out.println("short无符号右移的结果:"+b);//输出b
}
运行结果:
-复合赋值运算符
-三元运算符
A?B:C 判断A是否为真,真-->A,假-->B
-圆括号
括起来的内容优先计算
-运算符优先级
计算时按照表2.13顺序计算
写代码时尽量把需要优先计算的内容用括号括起来
THE END!