package wuhao;
public class test2 {
public static void main(String[] args){
int a=11;//定义一个整型变量a
System.out.println(a);//输出a的值
int b=011;
System.out.println(b);//输出b的值
int c=0x10;
System.out.println(c);/*无聊
*/
}
}
/**
*@author 练永冲
*时间:2022/2/28
*作用:数据输出
*/
- 单行注释:"//"
- 多行注释:"/* */"
- 文档注释:"/** */"
- 标识符:由字母、数字、下划线、美元符号($)组成*注意标识符第一个字符不能是数字
- 关键字:JAVA中已经被赋予特定意义的一些单词 ,不可以用来作标识符来使用
6.变量:在程序运行过程中,空间内的值是变化的 ,这个内存空间就称为变量
例如,声明变量,并赋予变量值,
代码如下:
int x=30;//声明int型变量x,并赋值30
int y;//声明int型变量y
y=1;//给变量y赋值1
y=25;//给变量y赋值25
7.变量命名时应遵守的规则:
(1)变量名必须是一个有效的标识符
(2)变量名不可以使用JAVA中的关键字
(3)变量名不能重复
(4)应选择有意义的单词作为变量名不会改变的量称为常量
8.常量:在程序运行过程中一直不会改变的量称为常量
通过final关键字进行限定的声明常量的标准语法:
final 数据类型 常量名称【=值】
声明一个double型常量,并给常量赋值,使用常量进行计算
public class ConstantTest{
public static void main(String[]args){
final double PI=3.14;//声明常量PI
PI=1.1;//再次给常量赋值会报错
System.out.println("常量PI的值为:"+PI);//输出常量PI的值为:的内容并输出PI的值
System.out.println("半径为3的圆的周长为:"+(PI*2*3));//输出半径为3的圆的周长为:的内容并输出周长的值
System.out.println("半径为4的圆的面积为:"+(PI*4*4));//输出半径为4的圆的面积为:的内容并输出面积
基本数据类型
9.整数类型:byte、short、int、long
public class test2 {
public static void main(String[] args){
int a=11;
System.out.println(a);//输出a的值
int b=011;
System.out.println(b);//输出b的值
int c=0x11;
System.out.println(c);//输出c的值
/*无聊
*
*/
long d=123L;//定义long型的变量
System.out.println(d);//输出d的值
}
}
10.浮点类型:float、double
public class test8 {
public static void main(String[]args){
double a=4.35*100;//用double计算4.35*100的结果
System.out.println("a="+a);//输出这个double值
int b=(int)a;//将double类型强制转换成int类型
System.out.println("b="+b);//输出int值
System.out.println("a的四舍五入值="+Math.round(a));//使用四舍五入
}
}
public class test9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
double a=0.1;//定义一个double型变量a
double b=2.0-1.9;//定义一个double型变量b
System.out.println("a="+a);//输出a的值
System.out.println("b="+b);//输出b的值
System.out.println("a==b的结果"+(a==b));//判断a==b是真还是假并给出结果
boolean bool=Math.abs(a-b)<(1e-6);//利用boolean类型来判断两数之差绝对值是否小于最小数的结果
System.out.println("两数之差绝对值小于最小数的结果:"+bool);//输出判断结果
}
}
10.字符类型:用于存储单个字符,占用16位(两个字节)的内存空间。在声明字符型变量时要以单引号表示。
11.转义字符:是一种特殊的字符变量,其以反斜杠“\”开头,后跟一个或多个字符。
public class test10 {
public static void main(String[]args){
char c1='\\';//定义一个char类型c1
char c2='\'';//定义一个char类型c2
char c3='\"';//定义一个char类型c3
char c4='\u2605';//定义一个char类型c4
char c5='\101';//定义一个char类型c5
char c6='\t';///定义一个char类型c6
char c7='\n';//定义一个char类型c7
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的值
}
}
12.布尔类型:又称逻辑类型,只有true和false两个值,注意布尔类型不能与整数类型进行转换
public class test11 {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean b;//声明布尔类型变量b
boolean b1,b2;//声明布尔类型变量b1,b2
boolean b3=true,b4=false;//声明两个布尔类型变量并给变量b3和b分别赋予初值true和false
boolean b5=2<3,b6=(2==4);//声明两个布尔类型变量并用逻辑判断结果
System.out.println("b5的结果是:"+b5);//输出判断结果
System.out.println("b6的结果是:"+b6);//输出判断结果
}
}
数据类型转换:分为隐式转换和显式转换
13.隐式转换:从低级类型向高级类型转换,类型按精度从低到高排列顺序为:byte<short<int<long<float<double
public class test13 {
public static void main(String[]args){
byte mybyte=127;//定义一个byte类型变量并赋予初值
int myint=150;//定义一个int类型变量并赋予初值
float myfloat=452.12f;//定义一个int类型变量并赋予初值
char mychar=10;//定义一个char类型变量并赋予初值
double mydouble=45.46546;//定义一个double类型变量并赋予初值
System.out.println("byte型与float型数据进行运算结果为:"+(mybyte+myfloat));//输出mybyte+myfloat的值
System.out.println("byte型与float型数据进行运算结果为:"+mybyte*myint);//输出mybyte*myint的值
System.out.println("byte型与float型数据进行运算结果为:"+mybyte/mychar);//输出mybyte/mychar的值
System.out.println("byte型与float型数据进行运算结果为:"+(mydouble+mychar));//输出mydouble+mychar的值
}
}
14.显式转换:把高精度的变量值赋给低精度的变量,必须使用显式类型转换运算(又称强制类型转换)。
public class test12 {
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的值
}
}
运算符:分为赋值运算符、算术运算符、自增和自减运算符、关系运算符、逻辑运算符、位运算符(位逻辑运算符、位移运算符)、复合赋值运算符、三元运算符、圆括号。
1.赋值运算符:以符号“=”表示,它是一个双目运算符(对两个操作数做处理),其功能是将右边操作数所含的值赋给左边的操作数。注意左边的操作数必须是变量。
public class test14 {
public static void main(String[]args){
int a,b,c=11;//定义三个int类型变量并给c赋予初值11
a=32;//给a赋值32
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的值
}
}
2.算术运算符:算术运算符主要有+、-、*、/、%。它们都是双目运算符,其中加减运算符还可以作为数据的正负号。加运算符也有拼接字符串的功能。
public class test15 {
public static void main(String[]args){
float num1=45.2f;//定义一个float类型变量并赋予初值45.2f
int num2=120;//定义一个int类型变量并赋予初值120
int num3=17,num4=10;//定义两个int类型变量并分别赋予初值17和10
System.out.println("num1+num2的和为:"+(num1+num2));//输出num1+num2的值
System.out.println("num1-num2的差为:"+(num1-num2));//输出num1-num2的值
System.out.println("num1*num2的积为:"+(num1*num2));//输出num1*num2的值
System.out.println("num1/num2的商为:"+(num1/num2));//输出num1/num2的值
System.out.println("num3%num4的余数为:"+(num3%num4));//输出num1%num2的值
}
}
3.自增和自减运算符:是单目运算符,可以放在变量之前,也可以放在变量之后,作用为使变量的值增1或减1。放在前面为先计算后使用,放在后面为先使用后计算。
public class test16 {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=1;//定义一个整形变量并赋予初值1
System.out.println("a+="+a);//输出a的值
a++;//进行自增运算
System.out.println("a++="+a);//输出a的值
a++;//进行自增运算
System.out.println("a++="+a);//输出a的值
a++;//进行自增运算
System.out.println("a++="+a);//输出a的值
a--;//进行自减运算
System.out.println("a--="+a);//输出a的值
}
}
4.关系运算符:属于双目运算符,用来判断一个操作数与另一个操作数之间的关系,它们的运行结果都是布尔类型
- == 等于
- < 小于
- >大于
- <=小于等于
- >=大于等于
- !=不等于
public class test17 { public static void main(String[]args){ int num1=4,num2=7;//定义两个变量 int num3=7;//定义一个变量 System.out.println("num1<num2的结果:"+(num1<num2));//输出num1<num2的结果 System.out.println("num1>num2的结果:"+(num1>num2));//输出num1>num2的结果 System.out.println("num1==num2的结果:"+(num1==num2));//输出num1==num2的结果 System.out.println("num1!=num2的结果"+(num1!=num2));//输出num1!=num2的结果 System.out.println("num1<=num2的结果:"+(num1<=num2));//输出num1<=num2的结果 System.out.println("num2>=num3的结果:"+(num2>=num3));//输出num2>=num3的结果 } }
5.逻辑运算符:&&、||、!注意除了!是单目运算符,其他都是双目运算符。存在短路现象。
&&:与 并且
||:或 或者
!:非 取反
public class test18 { public static void main(String[] args) { int a=2;//声明int型变量a int b=5;//声明int型变量b boolean result=((a>b)&&(a!=b));//声明boolean型变量,用于保存应用逻辑运算符&&后的返回值 boolean result2=((a>b)||(a!=b));//声明boolean型变量,用于保存应用逻辑运算符||后的返回值 System.out.println(result);//将变量result输出 System.out.println(result2);//将变量result2输出 } }
6.位运算符:位运算的操作数类型是整型,可以是有符号的也可以是无符号的 ,无短路现象。
- &(与) 并且
- |(或)或者
- 位逻辑运算符:&、|、^、~,前面三个是双目运算符,第四个是单目运算符。
- ~(取反)
- ^(异或)
- <<左移位
- >>右移位
- >>>无符号右移位
public class test19{ public static void main(String[]args){ short x=~123;//定义一个short变量 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));//输出结果 } }
2.位移运算符:<<、>>、>>>。这三个都是双目运算符。
public class test20 { public static void main(String[] args) { int a=24; System.out.println(a+"右移两位的结果是:"+(a>>2)); int b=-16; System.out.println(b+"左移三位的结果是:"+(b<<3)); int c=-256; System.out.println(c+"无符号右移2位的结果是:"+(c>>>2)); } }
public class test21 { public static void main(String[] args) { byte a=(byte)(-32>>>1); System.out.println("byte无符号右移的结果:"+a); short b=(short)(-128>>>4); System.out.println("short无符号右移的结果:"+b); } }
3.复合赋值运算符
a+=b;a=a+b
a-=b;a=a-b
a*b;a=a*b
a/=b;a=a/b
a%=b;a=a%b
a&=b;a=a&b
a|=b;a=a|b
a^=b;a=a^b
a<<=b;a=<<b
a>>=b;a=a>>b
a>>>=b;a=a>>>b
三元运算符:使用格式
条件式?值1:值2
运算规则:若条件式的值为真,则整个表达式取值为1,否则取2。
boolean b=20<45?true:false;
2.圆括号:可以提升公式中计算过程的优先级
a=(7>>(5*6))^((9/3*5)+4);
3.运算符的优先级
括号:()
正负号:+、-
单目运算符:++、--、|
乘除:*、/、%
加减:+、-
移位运算:>>、>>>、<<
比较大小:<、>、>=、<=
比较是否相等:==、!=
按位与运算:&
按位异或运算:^
按位或运算:|
逻辑与运算:&&
逻辑或运算:||
三目运算符:?:
赋值运算符:=