变量:申请存储单元,存储单元内的数据可以发生改变,
要提供数据类型(如String 或int)
要提供变量名(为了方便寻找对应存储空间)
变量声名方式:数据类型 变量名 = 初始值;(初始值可以省略)
注意:1.使用变量前要声名(如int = 0;)2.使用变量前要初始化
- 变量不能重复声名
标识符命名规则:
由数字、字母、下划线以及$组成(数字不能开头)
基本上都用英文字母
区分大小写,长度没有限制
见名知意,支持中文(不建议用)
不能使用java的关键字
如图:
变量输入输出:
案例,提示用户从键盘输入自己的姓名和年龄信息并打印出来。
解题思路,1.声明两个变量用于记录姓名和信息
- 提示用户从键盘输入姓名和年龄信息并存放到变量中
- 打印变量的数值
import java.util.Scanner;
导入java目录中util目录的Scanner类
Scanner sc = new Scanner(System.in);
创建一个扫描器来扫描键盘输入的内容
name = sc.next();通过扫描器读取一个字符串数据存放到name中
age = sc.nextInt();通过扫描器读取一个整数数据存放到age中
注意顺序
优化:
String name = sc.next();
int age = sc.nextInt();
变量随时用随时声明
尽量减少重复代码
具体API类功能,可以参考java手册
数据类型的分类
- 基本数据类型(记住)
byte、short、int、long、float、double、boolean、char
- 引用数据类型(了解)
数组、类、接口、枚举、标注
常用进制
十进制
二进制 最高位为0是正数,为1是负数
十进制转二进制 取余法:除二取余,余数逆序排序
拆分法: 列如45
... 128 64 32 16 8 4 2 1
0 0 1 0 1 1 0 1
45=>32+8+4+1;
0b表示二进制 0开头表示八进制 0x表十六进制
二进制转十进制
加权法
负十进制转二进制 负数需要补码:按位取反,再加1。
如: 00101101
按位取反 11010010
再加1 11010011
负二进制转换为十进制 先减1,按位取反,再转十进制
11010011=-45
先减1 11010010
安位取反 00101101
转十进制 32+8+4+1=45
添加负号 -45
单个字节所能表示的整数范围(重中之重)
单个字节表示8位二进制,最高位表示符号,0代表非负数,1代表负数
非负数多能表示的整数范围:0000 0000~0111 1111=>0~127=>0~2^7-1
0111 1111=>0*2^7+1*2^6......
=>0+64+32+16+8+4+2+1
=>127
负数所能表示的整数范围:1000 0000~1111 1111=>-128~-1=>-2^7~-2^0
1000 0000=>先减1 0111 1111
=>按位取反 1000 0000
=>转为十进制 128
=>添加负号 -128
1111 1111=>先减1 1111 1110
=>按位取反 0000 0001
=>转为十进制 1
=>添加负号 -1
综上所述:单个字节表示的整数范围是-128~127
整数类型:byte、short、int、long
byte 一个字节 范围-2^7~2^7-1 1*8-1=7 -128~127
short 两个字节 范围-2^15~2^15-1 2*8-1=15 -32768~32767
int 四个字节 范围-2^31~2^31-1 4*8-1=31 -2147483648~2147483647
long 八个字节 范围-2^63~2^63-1 8*8-1=63
若数字超过int最大范围
因为默认int类型,数字后面要加L
声明long gl = 250250250250250L
若比long类型还大则使用java.math.BigInteger类型
浮点类型:float和double
float 四个字节 单精度浮点数 表示7位有效数字
double 八个字节 双精度浮点数 表示15位有效数字
Java默认使用double类型若想用float要在数字后面加F
这两个类型可能会有误差,若希望实现精确运算java.math.BigDecimal类型
布尔类型:boolean,数值只有:true和false
= 赋值运算符,覆盖变量中原来的数值
字符类型:char如:‘a’ ‘中’单引号
char 两个字节 没有符号位 表示范围:0~65535=32768+32767
(int)强制转换为整数类型
记住:‘0’=48 ‘A’=65 ‘a’=97 空格=32 换行符=10
Unicode字符集,世界通用的定长字符集,所有的字符都是16位
转义字符的概念和使用
转换原有的含义 ” ’ \ t制表符 n换行符
自动类型转换的概念和使用
方式:自动和强制
自动类型转换是指小类型到大类型的转换
强制 大类型到小类型
方式:目标类型 变量名 = (目标类型)源类型变量名
name1=(int)name2



