JAVA语言基础的学习
1.Java语言基础(各种进制的表现形式以及互相转化方法)
-
二进制:由0,1组成,且在JAVA代码编写中以0b开头
-
八进制:由0,1,…7组成,且在JAVA代码编写中以0开头
-
十进制:由0,1,…9组成且整数默认是十进制的
-
十六进制:由0,1,…9,a,b,c,d,e,f组成,且在JAVA代码编写中以0x开头
-
任意进制到十进制的转换原理:位权展开法
- 公式可表示为系数*基数的权次幂
-
十进制转化为任意进制:除K取余法(K为你想要转化的进制),最后余数反转。
2.原码反码补码的互相转换
-
原码 , 反码 , 补码为有符号数据表示法的几种方式,并且所有数据的运算方式都是以补码为基础的。
-
原码
- 使用二进制将原数字转化,将最高位设为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。
-
反码
- 符号位不变,其余位全部变为与原码相反的数字,如0变为1,1变为0。
-
补码
- 在反码的末位加1,如有需要则进位。
-
正数的反码与补码与原码相同。
3.JAVA中变量与数据类型简述
- 变量的定义
与常量不同,变量在被定义以后是可以人为将其改变,实质上是内存上的一小块区域,通过赋值的不同而被定义为不同的量。 - 定义变量的原因:用来不断的存放同一类型的常量,并可以重复使用
- 变量的定义格式:
- 数据类型 变量名 = 变量值 ;
- int a=5;
4.数据类型简述
-
数据类型
对于不同的变量,为了能够最合理的利用空间,需要定义出不同大小不同长度的数据类型来装下不同的变量。 -
Java中数据类型的分类:分为两大类
-
基本数据类型
-
基本数据类型的详细讲解
(1): 数值型整数型 字节数 范围 byte 8bit(1) -128 ~ 127 short 16bit(2) -2^15 ~ 2^15 - 1 int 32bit(4) -2^31 ~ 2^31 - 1 long 64bit(8) -2^63 ~ 2^63 - 1
浮点型 字节数 范围 float 32bit(4) -3.40310^38 ~ 3.40310^38 double 64bit(8) -1.79810^308 ~ 1.79810^308 (2): 字符型
名称 字节数 范围 char 16bit(2) 0 ~ 2^16 - 1 = 65535 (3): 布尔型
名称 字节数 包含 boolean 8bit(1) true,false
-
-
引用数据类型: 数组 , 类 , 接口
-
整数默认是int类型的 , 浮点数默认是 double类型的
-
-
使用变量时需要注意的细节
- 作用域问题:变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
- 初始化值问题:没有初始化值不能直接使用
- 在一行上建议只定义一个变量
5.变量的隐式转换
- 当两个byte类型的变量相加的时候,所得到的值的类型还是byte类型的吗?
- 当byte,short,char类型的数值相加的时候,将自动转换成int类型
- 如有long类型的数据参与计算,则结果转化为long类型
- 若有浮点型数据参与运算,则结果转化为float或double类型
- 其它默认转换规则
- boolean类型不能转换为其他的数据类型
- byte,short,char之间不转换
6.变量的强制转换
- 若不想进行变量的隐式转换,则可以通过强制转换的方式将结果强制转换
- 强制转换的格式:
目标数据类型 变量名=(目标数据类型)(被转换的数据); - 例:int a=(byte)(c+d)
- 强制转换的注意事项
尽量不要使用强制类型转化,因为可能存在损失精度的问题。
- 强制转换的格式:
7.字符和字符串参与运算
-
若有字符参与运算,则引入ASCII表、
- ASCII码表较长,但可以通过记住几个关键数据推出其他的值,如:‘0’ =48,‘A’ =65,‘a’= 9
-
加号在有字符串参与中被称为字符串连接符
-
例如:
System.out.println("hello" + 6 + 1); System.out.println(6 + 1 + "hello"); 第一个结果为hello61 第二个结果为7hello
-
8.算术运算符概述
- 对常量和变量进行操作的符号称为运算符
- 运算符的分类:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
- 三目运算符
- 算术运算符:+,- , * , / , % , ++ , –
9.算术运算符++和–的用法(容易搞混)
-
++,–运算符的作用
-
自加(++)自减(–)运算
-
++:自加。对原有的数据进行+1
-
–:自减。对原有的数据进行-1
-
若不参与运算,则++符号放前放后无影响,如参与运算:
-
放在操作数的前面,先自增或者自减,然后再参与运算。
-
放在操作数的后面,先参与运算,再自增或者自减。
-
例:
1. int a = 10; int b = 10; int c = 10; a = b++; c = --a; b = ++a; a = c--; 得出答案为: a=9 b=10 c=8 2. int x = 4; int y = (x++) + (++x) + (x*10); y=4+6+60=70 x=6
-
-
10.赋值运算符
- 赋值运算符:
- =, +=,-=,*=,/=,%=
- 累加等符号:
- 可基本等效看为:a=a+5——a+=5
- 累加等符号带有强制转换的作用。
11.总结
今日主要介绍的是JAVA语言中的各类规则与细节,重要的地方如变量的隐式转换和强制转换等,而且对于初学者来说在参与运算时,变量的++与–的前后关系很容易让人搞混,需要仔细辨别,并且累加等运算符号会带有强制转换的功能,需要额外注意,JAVA语言中的细节也是非常多,需要在以后的学习中牢记。