lesson3 - Java数据类型

0. 变量说明

  变量是组成程序的基本单位,它是内存中某个存储空间的表示
  变量三要素: 类型+名称+值
  变量使用步骤: 声明,赋值,使用
  变量在同一个作用域内不能重名
  如下图,java的数据类型大致分为:
在这里插入图片描述

其中八大基本类型,包括byte, short, int, long, float, double, char, boolean是前期学习的基础,要熟练掌握。

1. 整数型

  Java整数类型有固定的范围和字段长度,不受操作系统影响,保证java程序的可移植性
  声明long型常量需要后加L或l
在这里插入图片描述

byte a = 1;
short b = -2;
int c = 3 ;
long d = 4L;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);

2. 浮点型

  Java浮点类型有固定的范围和字段长度,不受操作系统影响,保证java程序的可移植性
  Java浮点类型中,double可直接声明, float在声明时要后加f或F
浮点数在表示时有两种形式,一种是十进制形式例如 5.12 5.12f .512 另一种是科学计数法,例如5.12e2 5.12E-2

double e = 0.125;
floatt f = 1.99765f;
double g = 3.1415926E2;
floatt h = 31.415E-2f;
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);

  浮点数使用陷阱:由于java中小数在进行存放时是会先转成2进制做一个近似处理,所以在判断两个浮点数的相等时要格外注意,慎用!

double num1 = 2.7;
double num2 = 8.1/3;
System.out.println(num1);
System.out.println(num2);	
System.out.println(Math.abs(num1 - num2));

在这里插入图片描述

(浮点型近似处理)

3.字符型

   字符型char只能存放单个字符,英文字符、转义字符、中文字符都可,用单引号括起来。
  char型的存储过程为:字符–>unicode码值–>二进制值–>存储空间
  char型的读取过程为:二进制值–> unicode码值–>字符显示
  由于char型是以整数形式进行存储的,因此可以进行运算。

char char1 = 'a';
char char2 = '\t';
char char3 = '韩';
System.out.println((int)char3); //输出3889
System.out.println('a'+1); //输出98

  常见的几种编码方式:ASCII码,固定1个字节表示,因此2^8= 256(如下图1),字符量较少;Unicode码,固定2个字节,内含2^16=65536个字符,引入了中文等各国语言字符对应编码,将世界上所有符号都纳入其中,不会乱码,缺点是浪费存储空间;UTF-8码,大小可变的编码,字母使用1个字节,汉字2个字节,互联网上使用最广Unicode的改进版本;gbk码,字母1个字节,汉字2个字节。
在这里插入图片描述
快速查询unicode码的网址: https://tool.chinaz.com/Tools/unicode.aspx
在这里插入图片描述

4. 布尔型

布尔型boolean只有true和false两种取值,无null;布尔型常用于逻辑运算
不可以用0代替false,或非0代表true,这与其他语言不同。

		boolean pass = true;
		if(pass){
   
			System.out.println("通过!");
		}else{
   
			System.out.println("未通过");
		}

5. 数组

知识点概述:
  1. 数组相当于是一个集合,里面可以存放多个同一类型的数据
  2. 数组的初始化。数组有两种初始化方式,分别如下:
    数组初始化方式1: 静态初始化
  静态初始化就是在定义数组时,直接指定数组元素,让编译器来计算数组长度。静态初始化有两种形式:一种是不带new关键字,一种带有new关键字,两种方法的语法格式具体为:
在这里插入图片描述
  数组初始化方式2: 动态初始化
  动态初始化就是在定义数组时,只指定数组的长度,而后在使用时逐个给数组赋初值, 其语法格式为:
在这里插入图片描述

//  1-1  静态初始化
		double hens[] = {
   1.1, 2, 3.45, 7.8, 6.20}; //不带new的静态初始化 
		int arr[] = new int[]{
   1,2,3};              // 带new的静态初始化(注意new int[], []不能带数字)

//  1-2  动态初始化
	// 例1-->通过语句动态赋值
	int a[] = new int[7];
	a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; a[4] = 5; a[5] = 6; a[6] = 7; 
	// 例2-->通过键盘输入动态赋值
	// 程序功能: 从键盘输入5个学生的成绩,保存到数组中并输出
	double scores[] = new double[5];
	Scanner myScanner = new Scanner(System.in);
	for(int i = 0 ; i < 5 ; i++){
   
		System.out.println("请输入第" + (i+1) + "个学生的成绩");
		scores[i] = myScanner.nextDouble
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值