type
status
date
slug
summary
tags
category
icon
password
@ZZHow(ZZHow1024)
参考课程:
【韩顺平 循序渐进学Java】
0034_变量原理
- 变量是程序的基本组成单位
- 不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位
- 变量有三个基本要素(类型+名称+值)
- int a = 1;//定义了一个变量,类型int整型,名称a,值1
- int b = 3://定义了一个变量,类型int整型,名称b,值3
- b = 89://把89值赋给 b变量
0035_变量概念
- 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
- 变量使用的基本步骤
- 声明变量
- 赋值
- 使用
也可以一步到位
案例演示:Var.java
0036_变量入门
案例:记录 人 的信息的代码
案例演示:VarHuman.java
0037_变量细节
变量使用注意事项
- 变量表示内存中的一个存储区域不同的变量,类型不同,占用的空间大小不同。
- 比如: int 4 个字节, double 就是 8个字节,先有基本印象,后面说字节。
- 该区域有自己的名称[变量名]和类型[数据类型]。
- 变量必须先声明,后使用,即有顺序。
- 该区域的数据可以在同一类型范围内不断变化。
- 变量在同一个作用域内不能重名。
- 变量=变量名+值+数据类型,这一点请大家注意。变量三要素。
案例演示:VarDetail.java
0038_加号使用
- 当左右两边都是数值型时,则做加法运算。
- 当左右两边有一方为字符串,则做拼接运算。
例: System.out.println(100 + 98);
System.out.println("100" + 98);
System.out.println(100 + 3 + "Hello");
System.out.println("Hello" + 100 + 3);
案例演示:Plus.java
0039_数据类型
注意:String不是基本数据类型,它是一个类。
0040_整型使用
0041_整型细节
- Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,以保证Java程序的可移植性。
- Java的整型常量 (具体值) 默认为 int 型,声明long型常量须后加 ’l’ 或 ’L’。
- Java程序中变量常声明为int型,除非不足以表示大数,才使用long。
- bit: 计算机中的最小存储单位。byte:计算机中基本存储单元,1 byte = 8 bit。
- [二进制再详细说,简单举例一个 byte 3 和 short 3]
- 思考题: long 类型,有几个 bit [8 个字节 * 8 bit= 64 bit]
案例演示:IntDetail.java
0042_浮点数使用
- 说明一下
- 关于浮点数在机器中存放形式的简单说明。
- 浮点数 = 符号位 + 指数位 + 尾数位。
- 尾数部分可能丢失,造成精度损失(小数都是近似值)。
0043-0044_浮点数细节
- 与整数类型类似,Java 浮点类型也有固定的范围和字段长度,不受具体OS的影响。
- [float 4 个字节 double 是 8个字节]
- Java 的浮点型常量默认为double型,声明float型常量,须后加 ’f’ 或 ‘F’。
- 浮点型常量有两种表示形式
- 十进制数形式,如:
- 5.12
- 512.0f
- .512(必须有小数点)
- 科学计数法形式,如:
- 5.12e2 [5.12*10的2次方]
- 5.12E-2 [5.12/10的2次方]
- 通常情况下,应该使用double型,因为它比float型更精确。
- double num9 = 2.1234567851;
- float num10 = 2.1234567851F;
- 浮点数使用陷阱:2.7 和 8.1/3 比较。
样例:
案例演示:FloatDetail.java
0045_Java文档
- API(Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口(java提供的类还有相关的方法)。中文在线文档https://www.matools.com
- Java语言提供了大量的基础类,因此 Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
- Java类的组织形式。
- 如何查找?
- 包 —> 类 —> 方法。
- 直接索引。
0046_字符型使用
- 基本介绍
字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字)
多个字符我们用字符串String(我们后面详细讲解String)
案例演示:Char.java
0047_字符型细节
- 字符常量是用单引号(’ ’)括起来的单个字符。例如
- char c1 = 'a’;
- char c2 = ‘中’;
- char c3 = ‘9’;
- Java中还允许使用转义字符 ’\’ 来将其后的字符转变为特殊字符型常量。例如
- char c3 = ‘\n’; // ‘\n’表示换行符
- 在java中,char的本质是一个整数,在输出时,是unicode码对应的字符。
- 可以直接给char赋一个整数,然后输出时,会按照对应的unicode 字符输出 [97] —> ‘a’
- char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。
案例演示:CharDetail.java
0048_字符型本质
- 字符类型本质探讨
- 字符型 存储到 计算机中,需要将字符对应的码值 (整数)找出来,比如 ’a’ 。
- 存储:’a' ⇒ 码值97 ⇒ 二进制(110 0001) ⇒ 存储
- 读取:二进制(110 0001) ⇒ 码值97 ⇒ ’a' ⇒ 显示
- 字符和码值的对应关系是通过字符编码表决定的(是规定好)
- 介绍一下字符编码表
- ASCII(ASCI 编码表 一个字节表示,一个128 个字符,实际上一个字节可以表示256个字符,只用128个)
- Unicode(Unicode 编码表 固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占用两个字节这样浪费空间)
- UTF-8(编码表,大小可变的编码 字母使用1个字节,汉字使用3个字节)
- GBK(可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节)
- GB2312(可以表示汉字,gb2312 < gbk)
- BIG5 码(繁体中文,台湾,香港)
0049_常用编码(了解)
0050_布尔类型
- 基本介绍
- 布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null。
- boolean类型占1个字节。
- boolean 类型适于逻辑运算,一般用于程序流程控制。
- if条件控制语句;
- while循环控制语句;
- do-while循环控制语句;
- for循环控制语句;
案例演示:Boolean.java
0051_自动类型转换基础
- 介绍
- 当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型这个就是自动类型转换。
- 数据类型按精度(容量)大小排序为(背,规则)
案例演示:AutoConvert.java
0052-0053_自动类型转换细节
- 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
- 当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,就会报错,反之就会进行自动类型转换。
- (byte, short)和 char之间不会相互自动转换。
- byte,short,char 他们三者可以计算,在计算时首先转换为int类型。
- boolean 不参与转换。
- 自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型。
0054_强制类型转换基础
- 介绍
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意。
案例演示:ForceConvert.java
0055_强制类型转换细节
- 当进行数据的大小从 大 → 小,就需要使用到强制转换。
- 强制转换符号只针对于最近的操作数有效,往往会使用小括号提升优先级。
- char类型可以保存int的常量值,但不能保存int的变量值,需要强制转换。
- byte、short和char类型在进行运算时,当做int类型处理。
0056_类型转换练习
- 判断是否能够通过编译
- short s = 12; //√ s = s-9; //×,int → short
- byte b = 10; //√
b = b + 11; //×,int → byte
b =(byte)(b+11); //√,使用强转
- char c = 'a'; //√
int i = 16; //√
float d = .314F; //√
double result = c + i + d; //√,float → double
- byte b = 16; //√
short s = 14; //√
short t = s + b; //× int → short
0057_String和基本类型转换
- 介绍
在程序开发中,我们经常需要将基本数据类型转成String 类型。或者将String类型转成基本数据类型。
- 基本类型转String类型
语法:将基本类型的值 + "” 即可。
例:
int n1 = 100;
String s1 = n1 + "";
- String类型转基本数据类型
语法:通过基本类型的包装类调用parseXX方法即可。
例:
String s5 = "123";
int num1 = Integer.parseInt(s5);
- 把字符串转成字符:把字符串的第一个字符取出。
例:
System.out.println(s5.charAt(0));
案例演示: StringToBasic.java
0058_String转基本类型细节
- 注意事项
- 在将 String 类型转成 基本数据类型时,要确保String类型能够转成有效的数据,比如 我们可以把“123”,转成一个整数,但是不能把“hello”转成一个整数。
- 如果格式不正确,就会抛出异常,程序就会终止, 这个问题在异常处理章节中,会处理。
现象:编译能通过,但运行时会抛出异常,终止运行。
案例演示: StringToBasicDetail.java