循序渐进学Java笔记(Chapter03_变量)
2024-1-18
| 2024-4-22
0  |  阅读时长 0 分钟
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_变量概念

  • 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。
  • 变量使用的基本步骤
      1. 声明变量
      1. 赋值
      1. 使用
      也可以一步到位
案例演示:Var.java

0036_变量入门

案例:记录 人 的信息的代码
案例演示:VarHuman.java

0037_变量细节

变量使用注意事项
  1. 变量表示内存中的一个存储区域不同的变量,类型不同,占用的空间大小不同。
    1. 比如: int 4 个字节, double 就是 8个字节,先有基本印象,后面说字节。
  1. 该区域有自己的名称[变量名]和类型[数据类型]。
  1. 变量必须先声明,后使用,即有顺序。
  1. 该区域的数据可以在同一类型范围内不断变化。
  1. 变量在同一个作用域内不能重名。
  1. 变量=变量名+值+数据类型,这一点请大家注意。变量三要素。
案例演示:VarDetail.java

0038_加号使用

  1. 当左右两边都是数值型时,则做加法运算。
  1. 当左右两边有一方为字符串,则做拼接运算。
例: 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_数据类型

notion image
注意:String不是基本数据类型,它是一个类。

0040_整型使用

notion image

0041_整型细节

  1. Java各整数类型有固定的范围和字段长度,不受具体OS[操作系统]的影响,以保证Java程序的可移植性。
  1. Java的整型常量 (具体值) 默认为 int 型,声明long型常量须后加 ’l’ 或 ’L’。
  1. Java程序中变量常声明为int型,除非不足以表示大数,才使用long。
  1. bit: 计算机中的最小存储单位。byte:计算机中基本存储单元,1 byte = 8 bit。
    1. [二进制再详细说,简单举例一个 byte 3 和 short 3]
  1. 思考题: long 类型,有几个 bit [8 个字节 * 8 bit= 64 bit]
案例演示:IntDetail.java

0042_浮点数使用

notion image
  • 说明一下
  1. 关于浮点数在机器中存放形式的简单说明。
    1. 浮点数 = 符号位 + 指数位 + 尾数位。
  1. 尾数部分可能丢失,造成精度损失(小数都是近似值)。

0043-0044_浮点数细节

  1. 与整数类型类似,Java 浮点类型也有固定的范围和字段长度,不受具体OS的影响。
    1. [float 4 个字节 double 是 8个字节]
  1. Java 的浮点型常量默认为double型,声明float型常量,须后加 ’f’ 或 ‘F’。
  1. 浮点型常量有两种表示形式
    1. 十进制数形式,如:
      1. 5.12
      2. 512.0f
      3. .512(必须有小数点)
    2. 科学计数法形式,如:
      1. 5.12e2 [5.12*10的2次方]
      2. 5.12E-2 [5.12/10的2次方]
  1. 通常情况下,应该使用double型,因为它比float型更精确。
    1. double num9 = 2.1234567851;
    2. float num10 = 2.1234567851F;
  1. 浮点数使用陷阱:2.7 和 8.1/3 比较。
样例:
案例演示:FloatDetail.java

0045_Java文档

  1. API(Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口(java提供的类还有相关的方法)。中文在线文档https://www.matools.com
  1. Java语言提供了大量的基础类,因此 Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
  1. Java类的组织形式。
  1. 如何查找?
    1. 包 —> 类 —> 方法。
    2. 直接索引。
Java类的组织形式
Java类的组织形式

0046_字符型使用

  • 基本介绍
    • 字符类型可以表示单个字符,字符类型是char,char是两个字节(可以存放汉字) 多个字符我们用字符串String(我们后面详细讲解String)
案例演示:Char.java

0047_字符型细节

  1. 字符常量是用单引号(’ ’)括起来的单个字符。例如
    1. char c1 = 'a’;
    2. char c2 = ‘中’;
    3. char c3 = ‘9’;
  1. Java中还允许使用转义字符 ’\’ 来将其后的字符转变为特殊字符型常量。例如
    1. char c3 = ‘\n’; // ‘\n’表示换行符
  1. 在java中,char的本质是一个整数,在输出时,是unicode码对应的字符。
  1. 可以直接给char赋一个整数,然后输出时,会按照对应的unicode 字符输出 [97] —> ‘a’
  1. char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。
案例演示:CharDetail.java

0048_字符型本质

  • 字符类型本质探讨
  1. 字符型 存储到 计算机中,需要将字符对应的码值 (整数)找出来,比如 ’a’ 。
    1. 存储:’a' ⇒ 码值97 ⇒ 二进制(110 0001) ⇒ 存储
    2. 读取:二进制(110 0001) ⇒ 码值97 ⇒ ’a' ⇒ 显示
  1. 字符和码值的对应关系是通过字符编码表决定的(是规定好)
  • 介绍一下字符编码表
  1. ASCII(ASCI 编码表 一个字节表示,一个128 个字符,实际上一个字节可以表示256个字符,只用128个)
  1. Unicode(Unicode 编码表 固定大小的编码 使用两个字节来表示字符,字母和汉字统一都是占用两个字节这样浪费空间)
  1. UTF-8(编码表,大小可变的编码 字母使用1个字节,汉字使用3个字节)
  1. GBK(可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节)
  1. GB2312(可以表示汉字,gb2312 < gbk)
  1. BIG5 码(繁体中文,台湾,香港)

0049_常用编码(了解

0050_布尔类型

  • 基本介绍
  1. 布尔类型也叫boolean类型,booolean类型数据只允许取值true和false,无null。
  1. boolean类型占1个字节。
  1. boolean 类型适于逻辑运算,一般用于程序流程控制。
    1. if条件控制语句;
    2. while循环控制语句;
    3. do-while循环控制语句;
    4. for循环控制语句;
案例演示:Boolean.java

0051_自动类型转换基础

  • 介绍
    • 当java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型这个就是自动类型转换。
  • 数据类型按精度(容量)大小排序为(背,规则)
notion image
案例演示:AutoConvert.java

0052-0053_自动类型转换细节

  1. 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
  1. 当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,就会报错,反之就会进行自动类型转换。
  1. (byte, short)和 char之间不会相互自动转换。
  1. byte,short,char 他们三者可以计算,在计算时首先转换为int类型。
  1. boolean 不参与转换。
  1. 自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型。
案例演示:AutoConvertDetail.java

0054_强制类型转换基础

  • 介绍
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能造成精度降低或溢出,格外要注意。
案例演示:ForceConvert.java

0055_强制类型转换细节

  1. 当进行数据的大小从 大 → 小,就需要使用到强制转换。
  1. 强制转换符号只针对于最近的操作数有效,往往会使用小括号提升优先级。
  1. char类型可以保存int的常量值,但不能保存int的变量值,需要强制转换。
  1. byte、short和char类型在进行运算时,当做int类型处理。

0056_类型转换练习

  • 判断是否能够通过编译
  1. short s = 12; //√ s = s-9; //×,int → short
  1. byte b = 10; //√
    1. b = b + 11; //×,int → byte
      b =(byte)(b+11); //√,使用强转
  1. char c = 'a'; //√
    1. int i = 16; //√
      float d = .314F; //√
      double result = c + i + d; //√,float → double
  1. byte b = 16; //√
    1. 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转基本类型细节

  • 注意事项
  1. 在将 String 类型转成 基本数据类型时,要确保String类型能够转成有效的数据,比如 我们可以把“123”,转成一个整数,但是不能把“hello”转成一个整数。
  1. 如果格式不正确,就会抛出异常,程序就会终止, 这个问题在异常处理章节中,会处理。
现象:编译能通过,但运行时会抛出异常,终止运行。
  • 文字
  • 推荐
  • Java
  • 循序渐进学Java笔记(Chapter04_运算符)循序渐进学Java笔记(Chapter02_Java概述)
    Loading...
    目录