目录1.运算符1.1算术运算符1.2字符与字符串+运算1.2.1字符+运算1.2.2字符串+运算1.3赋值运算1.4自增自减1.5关系运算符1.5逻辑运算符1.6三元运算符2.类型转换2.1自动类型转换2.2强制类型转换1.运算符1.1算术运算符这些符号和小学学的运算符一样,没什么高大上的开头,那些上过学的基本都知道,内容如下:符号函数+加法-减法*乘法和前面的符号不同,但是作用是一样的/除%取余。在java程序中,区别在于除法,整数除以整数,混合除法取最大类型,例子:publicstaticvoidmain(String[]args){inta=5;整数b=2;双x=2.0;//结果是2System.out.println(a/b);//结果为2.5System.out.println(a/x);}1.2字符与字符串+运算1.2.1字符+运算char的基本类型参??与算术运算,使用底层十进制进行计算。说到这里大家一定很疑惑char是怎么代表单个字符而不是一个字符的,它是怎么参与运算的。那么大家需要了解一下ASCALL码,就是每个字符对应一个数值,从而实现算术运算。常见字符小数:字符小数048A65a97这里会遇到自动类型提升的问题,后面会详细说明。示例如下:publicstaticvoidmain(String[]args){charx='A';chary='a';//显示为162System.out.println(x+y);}1.2.2字符串+运算当表达式中出现字符串时,+为字符串连接符,否则为算术运算符,从左边计算到依次正确,并计算是否可以。示例如下:publicstaticvoidmain(String[]args){//结果为3LessAnnSystem.out.println(1+2+"LessAnn");//结果为1LessAnn2System.out.println(1+"LessAnn"+2);}1.3赋值运算赋值运算符使用=,与我们生活中的=不同。生活中会将计算结果返回到=的右边,而在程序中会将=右边的计算结果赋值给=的左边。示例如下:publicclassAssignmentTest{publicstaticvoidmain(String[]args){//declarevariableinta;//将值a=1+2赋值给变量;//输出结果为3System.out.println(a);}}以上是一个简单的赋值语句格式,程序中还有一些简化的赋值格式,如下(a=1):符号说明示例+=给自己加上数字给自己赋值a+=1,结果为2-=数减去自己后,赋给自己a-=1,结果为1*=自身与数相乘后,赋给自己a*=5,结果为5/=自己和数相除后赋给自己a/=2,结果2%=self余数赋给自己a%=5,结果21.4自增自减一个简化变量运算(a=1)符号说明示例++变量自增1a++,结果为2--变量自减1a--,结果为0。需要注意的是这个符号可以放在左边和变量的右侧,变量本身没有区别。表达方式不同。右边的符号表示变量在加减之前使用,左边的符号表示变量在使用之前加减。一个例子如下:publicclassAutoincreateTest{publicstaticvoidmain(String[]args){inta=1,b=5;//结果是4System.out.println(++a+a++);//结果是8System.out.println(b--+--b);//结果是3System.out.println(a);//结果是3System.out.println(b);}}1.5关系运算符初级知识,但符号不同,符号如下:符号说明\==等于!=不等于\>大于\>=大于等于<小于<=小于orequal所有的比较结果都是boolean值(true,false),需要注意等于==的不是=,=是赋值符号。1.5逻辑运算符号函数说明&logic和a&b,如果a和b都为真,结果为真,否则为假|逻辑或a|b,a和b都为假,结果为假,否则为true或a^b,如果a和b的结果不同则为真,相同为假!逻辑不!b不执行直接返回false||shortcircuit或者a||b,a为falseb为false,结果为false,a为true则b不执行直接返回true这里需要注意短路和或,这是更特殊的逻辑运算符。一个例子如下:publicclassLogicTest{publicstaticvoidmain(String[]args){inta=1;整数b=2;//错误System.out.println(a++>5&&b++>1);//2系统.out.println(a);//2系统.out.println(b);}}1.6三元运算符三元运算符语法:关系表达式?表达式1:表达式2;关系表达式作为布尔值返回,如果为真则执行表达式1,如果为假则执行表达式2。示例:publicclassTernaryTest{publicstaticvoidmain(String[]args){//BSystem.out.println(1>2?'A':'B');//设置System.out.println(1<2?"established":"notestablished");}}2。类型转换在程序中肯定会有类型混合操作。这时候就会出现输出类型的问题,下面会进行分类说明。2.1自动类型转换在程序中,小类型可以直接赋值给大类型,例子如下:publicclassTypeConversion{publicstaticvoidmain(String[]args){bytea=1;短b=2;整数y=一个;System.out.println(y);System.out.println(a+b);}}这里需要注意的是byte、short和char在运行时会自动转换成int类型,所以在程序中很容易少用这些类型。2.2强制类型转换强制类型转换就是将大类型转换成小类型。语法:type1variable1=(type1)variable2;例子如下:publicclassTypeTest{publicstaticvoidmain(String[]args){intx=1;//这种直接赋值会出错//bytey=x;//需要加上转换类型bytey=(byte)x;}}本章结束,供个人学习和初学者使用,勿喷!源码【GitHub】【码云】
