[2]java 语言基础组成 (2)
[3]字符型变量
char 2字节 范围:0-65535
如:char c='c';
[1]例子1:
char ch=97;
System.out.println("ch="+ch);
打印 ch=a
因为ASCII码的编码表中,a=97,所以char类型输入数字也是没问题的,只不过见不到
实在想要的话,System.out.println("ch="+(int)ch);
[2]例子2:
char ch2='a';
System.out.println("ch2="+(ch2+1));
打印 ch2=98
因为a是char类型 2字节,1是int类型 4字节,所以,ch2会变成97+1后就变成了98
如果想输出的值为b的话
System.out.println("ch2="+(char)(ch2+1));
6.运算符
(1)算数运算符:+ - * / % ++ -- "+"
[1]例子1
int i=2083;
System.out.println(2083*1000/1000);
打印:2000
因为2083/1000,一个int/int,值还是int,不会变成double,2*1000=2000
模(取余):%
[2]例子2
int i=2;
System.out.println(i%5);
打印:2
[3]例子3
int i=-2;
System.out.println(i%5);
打印:-2
结论:如果,被模数,小于模数,那么模之后,值就位被模数。
[4]例子4
结论2::一个数模与一个数,那么值,必然被模数小。
结论2用法一般用于定范围,比如b=i%3,那么无论最终b为多少,b<3。
++、--
[1]例子1
int a=1;
a++; //单独使用自增或自减算法的时候,无论是a++,++a结果是一样的
System.out.println(a);
打印:2
[2]例子2
int a=2,b; //定义两个变量,给a赋值为1
b=--a; //先运算右边,--a ------a=a-1,然后再赋值给b
System.out.println("a="+a,",b="+b);
打印: a=1,b=1
[3]例子3
int a=2,b; //定义两个变量,给a赋值为1
b=a--;
System.out.println("a="+a,",b="+b);
打印:a=1;b=2
对于例子3,本小白有两种理解方法
1.
将a++或a--理解成下次再遇到a的时候才生效,--a,++a理解成即刻生效
2.
将b=a--延伸成下面
temp=a;
a=a-1;
b=temp;
"+"连接符
[1]例子1
System.out.println("5+5="+5+5);
打印:5+5=55
因为"+"是一个字符串之间的连接,如果想要得到5+5=10
System.out.println("5+5="+(5+5));
(2)赋值运算符
= += -= *= /= %=
本小白主要以+=为例,其他变质不变量
[1]例子1
int i=9; //将右边的值,赋给左边
i+=4; //将左右两边的值相加,赋给左边
System.out.println(i);
打印:13
[2]例子2
分别运行1与2后发现,1报错,2顺利运行
原因:
1.追溯到本小白前面写的笔记博客里面,有对这里解释,s=s+5,5是默认int整型4字节,而s是short整型,2字节,字节小的类型自动转换为字节大的类型。所以因为没有强制类型转换所以导致错误
2.而s+=5,因为+=与=一样,是个赋值运算
类似于s=10是不会报错的, 因为10在short范围之内,所以编译器自动在赋值之前,将10转换为short类型
(3)比较运算符
== != > < <= >= instance of
这个大家都懂,我也懂。。。就不做太多介绍了。
除了==要提一下,不要把他疏漏了,变成了=赋值运算,instrance of就要等到本小白学到了才行。。。
而比较运算符的值只有两个,不是true就是false
(4)逻辑运算符
& | ^ !
&与运算:
2<x<5 必须分成 x>2&x<5
并且 true & true=true 其余组合都是false
如false & true=false false & false =false
|或运算:
x<2 x>5 就是x<2|x>5
true | false =true 只要有一边为true 那就是true,否则是false
^异或运算
true ^ true =true false ^ false=true
都为true或都为false为真,否则为假
!非运算
!false=true
&& ||
这个与上面的有点区别,&|是两边都参与运算,而&&||不一样
int i=5;
i>5&&i<6 //因为i>5为false,所以后面的等式直接不参与运算
||同理,如果i<6||i>7 //i<6为true,那么后面i>7就不用参与运算了
一般用于&& ||较多效率较快,但如果后面的等式必须参与运算那么用& |比较好