变量&数据类型
1.什么是内存?
内存是瞬时状态下的存储空间。 造价高、设计瓶颈。 普适性 普遍
2.java的虚拟机默认分到的物理内存是 1/8;
3.存储单位 bit(位)->byte(字节)->KB->MB->GB->TB->PB->EB
第一节:变量
变量:计算机内存中的一块存储空间。是存储数据的基本单元。
1.1声明方式
变量由 数据类型、变量名、值。三部分组成。
I.声明变量 数据类型 变量名; int money; //在内存当中开辟一块空间
ii.赋值 变量名 = 值; money =3000; //在空间里存储3000;
iii.声明变量同时赋值 数据类型 变量名 = 值; int dollar = 3100;//开辟一块空间,并存储3100;
iii(了解)同时声明多个变量:int a,b,c,d=300; a、b、c需要自行赋值。否则报初始化错误。
注意事项:
1.在同一个范围内,变量名不允许重复。 money
2.数据类型和赋予的值 要完全一致。 int === 整数
第二节: 数据类型
分为基本数据类型 引用数据类型
基本数据类型:
整数: 二进制取值 十进制取值 字节
byte -2^7 ~ 2^7-1 -128-127 1
short -215~215-1 -32768 - 32767 2
int -231~231-1 -2147483648- 2147483647 4
long -263~263-1 -922京~922京 8
小数(浮点数):
float 4
double 8
字符型:
char ASCII编码 和UNICODE编码(万国码) 2
char c1 = ‘你’;
char c2 = 65;//存放的是ASCII编码的十进制
char c3 = ‘\u0041’ 采用十六进制来赋值 65
布尔型:
boolean 有且只有两个值 true/false 真/假 1字节
以上为 八大基本数据类型
引用数据类型:
String 存储的是" "所编写的字面值 String name=“Tom”;
数组:int [] a = new int [5];
第三节:数据类型转换
3.1 自动类型转换(short i=1;i*=1;这里是自动类型转化所以不需要强制类型转换;short i=1;i=i+1;这里报精度可能丢失的错误,1是int型,i是short型目标类型小于源类型要强转)
3.1.1 要求两种数据类型相互兼容。
3.1.2 目标类型 要大于 源类型
自动类型提升的规律: byte–>short–>int–>long–>float -->double
char --> int
将较小的数据类型 可以直接赋值较大的数据类型。
3.2 强制类型转换
3.2.1数据类型要相互兼容
3.2.2 小目标类型 = (小目标类型)大目标类型数。 byte b = (byte)short;
3.3自动类型提升
进行算术运算时:
操作数中有double,则结果提升为double类型
操作数中没有double,有float,则结果提升为float
操作数中没有float,有long,则结果提升为long
操作数中没有long,有int,则结果为int
操作数中没有int,均为short或byte,结果为int(默认)
特殊:
任何数据类型与String类型,相拼接(+)时,结果自动提升为String类型
可以理解为 字符串连接
第四节:扫描仪 Scanner
概念:
在程序运行过程中,可以手动输入数据,程序再继续向下执行。
控制台输入数据。
使用步骤:
1.导包 import java.util.Scanner;
2.创建Scanner类型的变量 Scanner 名 =new Scanner(System.in);
3.使用Scanner提供的函数,进行相应的数据输入。
Scanner中的函数:
1.sc.next(); //从控制台输入一个字符串。
2.sc.nextInt();//从控制输入一个整数
3.sc.nextDouble(); //从控制台输入一个小数
4.sc.next().charAt(0);//从控制台输入的字符串当中,截取第一个。 自己遵守