[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]java 语言基础组成 (2)

[2]java 语言基础组成 (2)

结论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

[2]java 语言基础组成 (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就不用参与运算了

一般用于&& ||较多效率较快,但如果后面的等式必须参与运算那么用& |比较好

 

本小白因为刚接触java,可能有很多疏漏和不足,欢迎大佬指出不足,我也会努力的修正和变强。好记性不如烂笔头,浇下的汗水和时间,终会开花。