【韩顺平0基础30天学会java】第三章 变量 笔记整理

第三章 变量

  • 3.1 为什么需要变量

    变量是程序的基本组成单位。

    变量有三个基本要素(类型+名称+值)

  • 3.2 变量的介绍

    1. 概念:

    变量相当于内存种一个数据存储空间的表示

    1. 变量使用的基础步骤
    1. 声明变量

    int a;

    1. 赋值

    a=60;

    也可以一步写

    int a = 60;

  • 3.3 变量的快速入门

    public class Var02{
    	public static void main(String[] args){
    		//记录人的信息
    		int age=30;
    		double score =88.9;
    		char gender ='男';
    		String name="king";
    		//输出信息
    		System.out.println("人的信息如下");
    		System.out.println(name);
    		System.out.println(age);
    		System.out.println(score);
    		System.out.println(gender);
    	}
    }
    
  • 3.4 变量使用注意事项

    1. 变量表示内存种一个存储区域,变量类型不同,占用空间大小不同
    2. 该区域有自己的名称和类型,该区域的值可以在同一类型范围内不断变化
    3. 变量必须先申明,后使用
    4. 变量在同一个作用域内不能重名:在同一个类里不能定义两个重名的变量,但在两个类里可以分别定义两个名称相同的变量
  • 3.5 程序中+号的使用

    1. 左右两边都是数值型时,则做加法运算
    2. 当左右两边有一方为字符串型,则做拼接运算
    3. 两个字符相加,得到其字符码值之和
    4. 运算顺序,从左到右

    在这里插入图片描述

  • 3.6 数据类型

    每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间。

    在这里插入图片描述

    String字符串不是基础数据类型,而是类

  • 3.7 整数类型

    1.整形的分类

    在这里插入图片描述

    1. 整形使用细节

      1. Java各整数类型有固定的范围和字段长度,不受具体OS的影响

      2. Java的整型常量默认为int型,声明long型常量需后加”l“或”L“(不加也行)

      int a1 = 1;

      long a2=1L;

      1. Java程序中变量常声明为int型,除非不足以表示大数,才使用long
  • 3.8 浮点类型

    1. 基本介绍:浮点类型可以表示一个小数

    2. 浮点型的分类

      在这里插入图片描述

      1. 浮点数在机器中存放形式:符号位+指数位+尾数位

      2. 尾数部分可能丢失,造成精度损失

    3. 浮点型的使用细节

      1. Java浮点类型也有固定的范围和字段长度,不受具体OS的影响

      2. Java的浮点型常量默认为double型,声明float时需要加‘f’或’F’

      float num1= 1.1F;

      double num2 = 1.1;

      float num3 = 1.1; //错误,不能把内存占用大的double型放进float型中

      double num4 = 1.1f; //正确,可以把内存占用小的float型放进double型中

    4. 浮点型常量有两种表示形式

      十进制数形式:5.12 512.0f .512 (必须有小数点)

      科学计数法形式:5.12e2 5.12E-2

    5. 通常情况下,应该使用double型,因为它比float型更精确(float型可能丢失尾数部分)

    6. 浮点数使用陷阱

      double num1 = 2.7;//输出得到2.7

      double num2 = 8.1/3;//输出得到接近2.7的数

      当对两个小数运算结果进行相等判断时,不能直接用=

      应该计算两个数的差值的绝对值,然后判断其是否在精度范围内

      Math.abs(num1-num2)<0.000001

    7. 如果是两个直接查询得到的小数,则可以直接进行相等比较

  • 3.9 Java API 文档

    1. API (Application Programming Interface)是Java提供的基本编程接口(类及方法),

      https://www.matools.com 以及 资料包

    2. Java语言提供了大量的基础类,因此Oracle公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法

    3. Java类的组织形式

      在这里插入图片描述

    4. 若要查看某个类的方法

      按:包→类→方法的方式查找

      或者直接索引

  • 3.10 字符类型

    1. 基本介绍:字符类型可以表示单个字符。多个字符用字符串String表示。

      char c1 = ‘a’; char c2=’\t’; char c3=’韩’; char c4=94;

      一个字符可以表示一个字母、汉字、转义、数字(编码)

    2. 使用细节:

      a. 字符常量是用单引号括起来的单个字符(双引号表示字符串)

      b. Java中允许使用转义字符’\’来将其后的字符转变为特殊字符型常量(’\t’是一个字符)

      c. 在java中,char的本质是一个整数,输出时,是unicode码对应的字符。

      d. 可以直接给char赋一个整数,输出时,会按照其对应的unicode码输出

      e. char类型是可以进行运算的,相当于一个整数

      public class CharDetail{
      	public static void main(String[] args){
      		//char的本质是一个整数,输出时,是unicode码对应的字符
      		char c1 = 97;
      		System.out.println(c1);
      		char c2 = 'a';
      		System.out.println((int)2);
      		//char类型可以运算
      		System.out.println('a'+10);
      
      	}
      }
      
    3. 常用字符编码:

      a. ASCII :用一个字节表示,一共128个字符(实际上一个字节能表示256个字符,但只使用了其中128个)

      b. Unicode:使用两个字节来表示字符,字母和汉字都是占用两个字节

      c. utf-8: 大小可变的编码,字母用一个字节,汉字用三个字节

      d. gbk: 可以表示汉字,范围更加广泛,字母用一个字节,汉字用两个字节

      e. gb2312:可以表示汉字,范围比gbk小

      f. big5 : 繁体中字

  • 3.11 ASCII码

    在这里插入图片描述

  • 3.12 Unicode码

    在这里插入图片描述

  • 3.13 UTF-8编码

    在这里插入图片描述

  • 3.14 布尔类型

    1. 基本介绍:
      a. 布尔类型也叫boolean类型,只允许取值true和false,无null
      b. boolean占一个字节
      c. boolean类型适于逻辑运算,一般用于程序流程控制
      i. if条件控制
      ii. while循环控制
      iii. do-while循环控制
      iv. for循环控制
  • 3.15 基本数据类型转换

    1. 自动类型转换
      a. 当java程序在进行赋值或计算时,精度小的类型自动转化为精度大的类型
      b. 数据类型按精度大小排序:

      在这里插入图片描述

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

      public class AutoConvert{
      	public static void main(String[] args){
      		//多种类型的数据混合运算,系统首先将所有数据转成容量最大的数据类型
      		int n1 = 10;
      		double d1 = n1+1.1;
      		float d2 = n1+1.1f;
      
      		//当把一个具体的数赋给byte时,先判断该数是否在byte范围内,如果是就可以
      		byte b1 = 10 ;
      		int n2 = 1;
      		byte b2 = n2; //错误
      
      		//(byte, short)和char之间不能自动转换
      		char c1 = b1; //错误,byte不能自动转换成char
      
      		//byte,short,char三者可以计算,在计算时先转换为int类型
      		byte b2=1;
      		short s1=1;
      		short s2=b2+s1; //错误,二者相加会转换为int
      		byte b4=b2+b3; //错误,二者相加会转换为int
      
      		//boolean不参与类型的自动转换
      		boolean pass=true;
      		int n3=pass; //错误
      
      		//表达式结果的类型自动提升为操作数中最大的类型
      		byte b5=1;
      		short s3=100;
      		int n4=1;
      		double d3=1.1;
      		double d4=b5+s3+n4+d3;
      	}
      }
      
    3. 强制类型转换

      自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型,使用时要加上强制转换符(),但可能造成精度降低或溢出

      int i = (int)1.9 //1,精度降低
      int j =2000;
      byte m = (byte)j; //-48,溢出
      
    4. 强制类型转换细节

      1. 强转符号只对最近的操作数有效,往往使用小括号提升优先级

        int x = (int)10*3.5+6*1.5; //错误
        int x = (int)(10*3.5+6*1.5);//正确
        
      2. char类型可以保存int的常量值,但不能保存int的变量值,需要强转

        char c1 = 100;
        int m = 100;
        char c2 = m;//错误
        char c3=(char)m;
        
  • 3.16 基本数据类型转换-练习题

    在这里插入图片描述

  • 3.17 基本数据类型和String类型的转换

    1. 基本数据类型转String
      语法:将基本类型的值+””

      int n1 = 100;
      float f1 = 1.1F;
      boolean b1 = true;
      String s1 = n1+"";
      String s2 = f1+"";
      String s3 = b1+"";
      
    2. String转基本数据类型
      语法:通过基本类型的包装类的相应方法进行转换

      String s5 = "123";
      int num1 = Interger.parseint(s5);
      double num2 = Double.parseDouble(s5);
      long num3 = Long.parseLong(s5);
      byte num4 = Byte.parseByte(s5);
      float num5 = Float.parseFloat(s5);
      short num6 = Short.parseShort(s5);
      boolean b = Boolean.parseBoolean("true");
      
    3. String转字符
      字符串转字符时,取字符串的第x个字符

      String s5 = "123";
      char c1 = s5.charAt(0); //取第0个字符
      
    4. 转换注意事项
      a. 在将String类型转成基本数据类型时,要确保String类型能够转成有效的数据
      b. 如果格式不正确,就会抛出异常,程序就会终止(异常处理章节)

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值