Java学习笔记_003_20200116

第4章 java程序设计基础

01 变量和常量

  1. 变量相当于一个盒子,它的里面可以存放数据。这个数据叫做变量的值。每个变量都有自己的名字,叫做变量名。每个变量都有一个类型,只能存放这种类型的数据,声明一个变量,计算机会为其划分内存的一块存储区域。并且以变量名作为标识。
  2. 常量
  3. 变量的值在程序运行中是可以变化的,常量的值在程序运行中不会发生变化。
  4. java语言使用final关键字来声明一个常量。

02 赋值运算符和标识符

  1. 赋值运算符和表达式求值
  2. 赋值运算符会计算=号右边的表达式的值,并净结果拷贝到=号左边的变量中。
  3. 标识符,关键字,保留字,特殊值
  4. 标识符
    变量,类,方法,接口的名字称为标识符。
    标识符可以由字母,数字,下划线芯,$组成,不能以数字开头。
    不可以使用关键字和保留字,但是可以包含关键字和保留字。
    java中严格区分大小写,长度无限制。标识符不能包含空格。
    标识符的命名规范:做到见名知意,变量名以小写字母开头,并且遵循驼峰命名法。
  5. 关键字
    在java中被赋予特定含义的单词。
    如:
    int float char boolean
    if else
    class
    new
    package
    import
  6. 保留字
    在java中注册了,但是还未(fii)使用。
    goto const
  7. 特殊值
    true false null

03 数据类型的引用类型

变量的数据类型

java是一种强类型的语言
强类型的语言在声明变量时必须指定变量类型,变量类型是表示它可以存放什么类型的数据。

数据类型分为两种:基本类型,引用类型
  1. 基本类型有8种:

整型:byte,short,int,long

浮点型(小数型): float(单精度),double(双精度)

字符型(可以存放一个字符):char

布尔型: boolean(只有两个值,true和false)

在这里插入图片描述

  1. 引用类型
    String
  2. 基本类型和引用类型的区别
    在这里插入图片描述

04 基本类型和引用类型

二进制,bit和字节

我们通常使用的数是十进数,逢十进位,数字有0123456789.
计算机中使用的是二进制,逢2进位,数字有0,1
0 = 00000000
1 = 00000001
2 = 00000010
3 = 00000011
4 = 00000100
5 = 00000101
6 = 00000110
7 = 00000111
8 = 00001000
9 = 00001001
10= 00001010

bit是二进制的一位,只有两个状态0,1;
上面的例子中每个二进制数都有8个bit.
8个bit称为1个字节,字节就是byte.

数字有正负,计算机不能存储符号,
所以计算机使用二进制数的第一位来表示正负:0代表正数,1代表负数。上
上面的例子都是正数。
10表示为00001010
-10表示为10001010

在这里插入图片描述

整型

类型存储需求取值范围
byte1个字节-128~127
short2个字节-32768~32767
int4个字节-2147483648~2147483647(20亿)
long8个字节-9223372036854775808~9223372036854775807

一个整数的默认类型是int,如果想要表示某个整数的值是long类型,需要在值的后面加L或l

在这里插入图片描述
System.out.println(2147483647 + 1); //超出取值范围
System.out.println(2147483647L + 1);

浮点型

类型存储需求精度范围
float4个字节1.4E-45~3.4028235E38
double8个字节4.9E-324~1.7976931348623157E308

在这里插入图片描述
一个小数的默认类型是double,如果想表示某一个小数是float类型,需要加F或f
如: float f = 5.0; //编译错误
float f = 5.0f; //编译正确

字符型

两个字符,可以存储一个字符。
字符型的值必须是单引号。
由于计算机只能存放二进制数字,字符必须要进行编码转换为数字来存储。
例如字符’A’将被编码为65,而字符’a’将被编码为数字97。
编码方式描述了字符和数字的对应规则。
ASCII码
ASCII编码是美国标准,不能处理中文和其他国家的字符。
俄罗斯使用KOI-8,西欧使用ISO-8859-1,中国使用GB2312、GBK。
unicode编码
一份文档如果只有一种语言,那么不会出现问题,但是如果既有俄(wtrt)文又有中文。
Unicode编码涵盖了目前人类使用的所有字符,并为每个字符进行了统一编码。
Unicode只是定义了一个庞大的,全球通用的字符集,并为每个字符规定了唯一的编号。
具体存储称为什么样的字节,取决于编码方案。
目前最为流行的编码方案是UTF-8.

在这里插入图片描述

引用数据类型

类,String
接口
数组

05 数据类型转换

例1:

        int a  = 3;
		long b = a;
		System.out.println(b); //3
		double c = b;
		System.out.println(c); //3.0

在这里插入图片描述
例2:
boolean不与其他任意数据类型转换。

		int a = 1;
		boolean b = true;
		System.out.println( a + b );	//报编译错误

在这里插入图片描述

例3:
任何数据类型与String之间使用+运算符,都将自动连接String类型。

		int num = 10;
		String a = "我";
		String b = "岁";
		System.out.println(a + num + b);//我10岁
		
		System.out.println(a + num + 1 + b);//我101岁
		System.out.println(a + (num + 1)+ b); //我11岁

在这里插入图片描述

强制类型转换

大容量转小容量,需要使用强制符()
如果存储数据需要的字节大于变量占用的字节,就会发生数据丢失。

		long number1 = 1689;
		int number2 = (int)number1; //强制类型转换
		System.out.println(number2);
		
		//int x = 35.5; 编译错误
		int x = (int)35.5;
		System.out.println(x);//强制类型转换,去掉小数部分。
		//00000000000000000000000000000000
		
		int bigValue = 280;
		byte small = (byte)bigValue;
		System.out.println(small); 
		//24,看我保留低八位。 把280转成二进制数,看它的低八位数是什么。
		//280(十进制) = 100011000(二进制)  11000(二进制) = 24(十进制)
		
		//float avg = 36.01f;
		float avg = (float)36.01;
		//强制类型转换慎用,尽量避免数据丢失。
		
		//homework  将MB转换为字节,将字节转换为MB

在这里插入图片描述

task:
将MB转换为字节,将字节转换为MB 用 + - * /
16MB = byte

		//计算MB有多少字节
		//1mb = 1024kb
		//1kb = 1024byte
		int mb = 16;
		int b = mb * 1024 * 1024;
		System.out.println(b);
		
		//计算字节是多少mb
		int c = 16777216;
		//int d = c / 1024 /1024;
		int d = c / (1024 * 1024);
		System.out.println(d);

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值