一条指令8个0或者额组成 即8位
2^0=1 2^1=2 2^2=4 2^3=8 2^4=16 2^5=32 2^6=64 2^7=128 2^8=256 2^9=512 2^10=1024
bit 比特 1bit=1位0或者1
1Byte =8bit 1B=8b
1KB=1024B 2^10
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB
(通常一个汉字由两个字组成的,一个字母由一个字节(8位)组成的。一个字节最多可以表示256个符号,已经足以保存字母了,但是常见的汉字5000多个,所以就用两个字节表示一个汉字。---了解)
写程序之前先定义变量,在进行运算,运算的时候,任何数据都要先放到内存中,需要的时候再拿出来放到CPU中进行运算。CPU不能存放数据。
数据类型分为基本类型和引用类型两大类
基本类型:char byte short int long double float boolean
剩下的都是引用类型。(首字母大写的都是引用类型,在严格遵守命名规范的情况下)
byte 一个字节的长度,保存数字(—128——127),也可以存放一个字母(不常用)例如:byte num=’a’;要用单引号,单引号:只保存一个字母 双引号:可以保存一个字符串,长度可以是1,也可以大于1
char:两个字节(16位)可以保存一个字母,也可以保存一个汉字(不常用)
short:2字节短整形,用来保存整数(不常用)
Int:四个字节32位,用来表示整数,表示范围(—2147483648——2147483647)
long:八个字节长整型,64位 不常用(—9223372036854775808——9223372036854775807)
double:64位 用来存放浮点数(小数)常用
float:用来存放浮点数(小数)不常用 例如:float money=1000.8f;
boolean:布尔值 只能存放 true或者false 例如 boolean flag=true;
String:应用类型,存放字符串。
整数:byte char short int long
浮点:double float
布尔值:boolean
变量名命名规范
1.采用驼峰命名法(只有类首字母是大写,其余的都是小写,例如命名"moneyToPay"
2.可以由数字、_、$字母组成
3.首字母不能以数字开头
4.见名知意
5.关键字不能作为变量名
赋值运算符:
int b=4;
int a=(b+3)+(b-1)
赋值运算符的优先值最低,先进行加减成除运算,后进行赋值。
补充:从控制台获取数据
Scanner 的使用:
1、Scanner input=new Scanner(System.in);
算数运算:+ 加 -减 *乘
除:%取余 /取整
——:自减 现有值减1
例:
int num1=5;
int num2=2;
int result1=num1/num2;
System.out.println("结果是:"+result1);
int num=3;
num++;
//num=num+1;
//num+=1;
System.out.println(num);//4
int num3=3;
num3--;
//num3=num3-1;
//num3-=1;
System.out.println(num3);//2
int num4=3;
System.out.println(--num4);//2
System.out.println(num4);//2*/
/*int num=3;
System.out.println(num++);
System.out.println(num);*/
1、Input misatch exception
输入 不匹配 异常
输入类型不匹配
2、//接收控制台输入的数据
stb=input.nextInt();//nextInt用来接收整数的,如果输入的不是整数,则会报异常//next 用来接收字符串;
3、double firstAversge=81.29;//第一次平均分;
int dis=2;
double secondAverage=firstAversge+dis;
/*根据之学的知识:同类型的数据才可以进行运算。
但是没有报错,原因是JAVA提供了自动转型的机制,int自动转型成double;
自动转型法的机制:小范围的额数据会自动向大范围的数据转换
Int类型能表示的,double类型都可以表示,但是double 类型能表示的,int类型不一定都能表示,所以Int是小范围,double 相对于int是大范围*/
System.out.println("第二次的平均分:"+secondAverage);
//double类型可以自动转换成字符串类型
4、double-->int 类型可以进行强转
//doule-->int 可以强转,不会自动转换
double num=3.8;
//强转double-->int,会影响数据的精度,会直接扔掉小数;
int num2=(int)num;
System.out.println(num2);
5、//补充;左移<< 右移>>