java学习3-基本语法篇

1.关键字(单词在java中有特殊含义    所有的字母都是小写)

分为以下几类{

 ①定义:定义数据类型关键字 

                 定义数据类型值关键字  

                 定义程序的流程控制关键字

                 定义创建实例的关键字

                定义包名

                

 ②修饰符:访问权限  以及类 函数 变量

 ③异常:异常处理关键字

④定义类之间关系的关键字

 ⑤其他修饰符关键字

扫描二维码关注公众号,回复: 5789301 查看本文章

}

2.标识符(自己命名的)

规则为:(主要是:见名知意)

       26个英文字母大小写  0,9  以及_  $

      不能数字开头

      不能直接使用关键字和保留字 

      不能包含空格

规范:

     包名:aaabbbbccc

     类名 接口名:AaaaBbbb

      方法名:aaaaBbbbbZzzz

      常量名 AAAA_BBBB

3.变量:

 3.1(占内存的存储空间+组成:数据类型 :变量名+声明后使用)

 作用范围:在一对{}中有效

格式:数据类型  变量名 =初始化值

使用变量名进行访问内存中存储的变量

 3.2变量转化:{

  ①自动转化

 所占内存位数小的转化成容量位数占的大的

注意点:

       第一。long 8字节 但可以自动转化成float 4字节 

他们用科学计数法的方式不一样(底层存储结构不一样)。

long: 2^63-1

float: 3.4*10^38 > 2*8^38 = 2*2^3^38=2*2^114 > 2^63-1

所以3.4*10^38 > 2^62-1

     原因:https://blog.csdn.net/shanshan1yi/article/details/48477119

     第二。char 编码方式是ascii码   a   对应十进制数为97  A:65

     第三。char(//  只能表示一个英文字符    可以是一个汉字  标点=符号  日文等  转义字符   2字节)  short (2字节) byte (1字节)  但是两两(或者是和自身)进行运算 都自动转化默认的是 int

  ②强制转化  损失精度   留下后面低位的 丢失高位

}

3.3  string 引用数据类型的使用

运算只能是  (+)  连接运算    只能结果还是string类型

3.4在内存中的二进制存储结构:


byte 是 1个字节  占8位   范围 :2的8次方 256种组成

对于正数和负数  在计算机中的存储格式:

正数 (原码 反码 补码都一致)  负数是用补码的形式来存储的   (负数的反码=正数的二进制式子 除去第一位符号位外 全部取反    )   (负数补码=负数反码+1)

3.5变量的运算:

   ①算术运算符:

(注意点:

对于整型数a,b来说,取模运算或者求余运算的方法都是:

1.求 整数商: c = a/b;

2.计算模或者余数: r = a - c*b.

求模运算和求余运算在第一步不同:

取余运算在取c的值时,向0 方向舍入(fix()函数);

取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。

例如计算:-7 Mod 4

那么:a = -7;b = 4;

第一步:求整数商c,如进行求模运算c = -2(向负无穷方向舍入),求余c = -1(向0方向舍入);

第二步:计算模和余数的公式相同,但因c的值不同,求模时r = 1,求余时r = -3。

归纳:当a和b符号一致时,求模运算和求余运算所得的c的值一致,因此结果一致。

当符号不一致时,结果不一样。求模运算结果的符号和b一致,求余运算结果的符号和a一致。

另外各个环境下%运算符的含义不同,比如c/c++,java 为取余,而python则为取模。

java中//取模 也就是求余数 结果的符号取决于 被模数  也就是前面的那个数的符号

②赋值运算符:

s+=1;//这样不会改变s的类型   这样既可以实现运算 也不会改变s的数据类型

③逻辑运算符:(用于boolean 类型的运算)
&区别&&   

 &:不管一开始进行判断的项是true或者false 后者都会进行运算 

&&:左端判断的项是false时 右端不会在进行判断

  |区别||  :

同上

 ^逻辑异或运算  相同为false 不同为true   

④位运算符:(用于数值型运算):  <<  >>  & | ~  ^

& 按位与

| 按位或:

9|5

可写算式如下:

1

2

3

4

 00001001

 |

 00000101

=00001101

           (十进制为13)可见9|5=13

^ 按位异或 :按位异或运算符“^”是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。

~取反:

1

~(1001)

    结果为:

1

0110

<<左移:     左移运算符“<<”是双目运算符。左移n位就是乘以2的n次方。 其功能把“<<”左边的运算数的各二进位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃,低位补0。移位是有限制的

>>右移: 同理可得

就是对于二进制进行运算

⑤三元运算符:

例子:abc中最大值:(a>b)?((a>c)?a:((b>c)?b:c) ):((b>c)?b:((c>a)?c:a))

4.程序代码的流程控制

5.数组:https://blog.csdn.net/Taylor_Ocean/article/details/82347707

猜你喜欢

转载自blog.csdn.net/Taylor_Ocean/article/details/88934376