java基础复习 - 1 - 变量
java基础部分学习整合
基础入门
- 
Java中的转义字符
\t 制表符 \n 换行符 \\ \ \" \' \r 换行 换行后面内容会从当前起始位置开发覆盖 - 
Java生成文档注释: javadoc -d d:\temp -author -version d:code\tmp\NCECommonService\service\src\main\java\com\huawei\u2020\business\PortalBusiness.java
 - 
DOS命令了解、环境变量的作用为了在dos的任意目录。介意去使用java和javac等命令
1查看当前目录: dir dir d:\abc2\test200 2切换到其它盘下 cd /D c: 3切换到当前盘的其它目录下 cd d:\anc2 4切换到上级 cd .. 5切换到根目录 cd \ 6查看指定路径下的所有文件 tree d:\temp 7清屏cls 8退出exit md rd copy del echo type move - 
JDK=JRE+java开发工具 JRE=JVM+核心类库
 - 
Java编写步骤。编写java源代码,javac编译得到.class字节码文件,java将字节码文件加载到jvm中
 
变量
- 
变量三个基本要素 类型+名称+值
 - 
基本数据类型 数值型:byte(1) -128~127 short(2) -32768~32767 int(4) -2147483648~2147483647 long(8) -263~263-1 float(4) double(8) 字符型:char(2) 布尔型:boolean(1) 内存中分配的数据空间大小是有差别的,为啥存放的范围是这个 => 二进制篇详细讲解
 - 
Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,以保证java程序的可移植性
 - 
bit是计算机中最小存储单位,byte是计算机中基本存储单元
 - 
浮点数在机器中存放形式:浮点数=符号位+指数位+尾数位
 - 
与整数类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响
 - 
单精度只能保留小数点后8位,七位是精确值,双精度小数点后17位,精度16位
 - 
字符类型
char c1 = 'a'; // a char c2 = '\t'; // 制表符 char c3 = '韩'; // 韩 char c4 = 97; // a - 
char当输出c4的时候会输出97表示的字符=> 编码的概念
 - 
java中,char的本质是一个整数,在输出时,是unicode码对应的字符
 - 
char类型是可以运算的,相当于一个整数,因为他都对应有Unicode码
 - 
输出‘a’对应的数字
char c2 = 'a'; System.out.println((int)c2);//97 - 
97+10 先转出a对应的字符数字,再进行相加
System.out.println('a'+10); - 
字符类型本质
- 字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如'a'
- 存储:'a' ==> 码值97 ==> 二进制 ==> 存储
 - 读取:二进制 ==> 97 ==> 'a' ==> 显示
 
 
 - 字符型存储到计算机中,需要将字符对应的码值(整数)找出来,比如'a'
 - 
编码表
- ASCII 用一个字节表示,一共128个字符,实际上一个字节可以表示256个字符(一个符号位,7个bit 01),只用128个
 - Unicode 固定大小的编码,使用两个字节表示字符,字母和汉字统一都是占用两个字节,这样浪费空间,兼容ASCII
 - utf-8 字符使用一个字节表示,汉字使用三个字节
 
 - 
自动转换路线
- char -> int -> long -> float -> double
 - byte -> short -> int -> long -> float -> double
 
 - 
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算
 - 
(byte、short)和char之间不能相互自动转换
 - 
byte b1 = 10// 对 先判断该数是否在byte范围内,如果是就可以
 - 
int n2 = 1; byte b2 = n2// 错,如果是变量赋值先判断类型
 - 
byte、short、char他们三者可以计算,在计算时首先转换为int类型
 - 
boolean 不参与转换
byte b2 = 1; byte b3 = 2; short s1 = 1; short s2 = b2+s1;// 错,b2+s1=>int int s2 = b2 + s1; // 对 byte b4 = b2 + b3; // 错b2+b3=>int - 
强制转换
int n1 = (int)1.9; // 1,造成精度损失 int n2 = 2000; byte b1 = (byte)n2; // -48 造成数据溢出 - 
强转符号只针对最近的操作数有效,往往使用小括号提升优先级
 - 
char类型可以保存int的常量值,但不能保存int的变量值,需要强转
char c1 = 100; int m = 100; // char c2 = m; 错误 char c2 = (char)m; System.out.println(c2); - 
类型转换
short s = 12; // 对 s = s-19; // 错 byte b = 10; // 对 b = b+11; // 错 b = (byte)(b+11); // 对 char c = 'a'; // 对 int i = 16; // 对 float d = .314F; // 对 double result = c + i + d; // 对 byte b = 16; // 对 short s = 14; // 对 short t = s + b; // 错 
                    
                
                
            
        
浙公网安备 33010602011771号