1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)----------二进制位数
一,Java 8种基本数据类型
类型名称 字节空间
byte 1字节(8位)
short 2字节(16位)
int 4字节(32位)---整型直接量
long 8字节(64位)---表示时需要数值后加L或l
float 4字节(32位)---表示时需要数值后加F或f
double 8字节(64位)---浮点型直接量
char 2字节(16位)---存储一个字符,字符加单引号
boolean 1字节(8位)
需要注意以下几点
int范围是-2147483648——2147483647,21亿左右,注意不要溢出
两个整数相除,会舍弃小数部分
char的本质为int类型,可用数值表示,注意范围是0-65535,但是打印输出为字符类型.
必须放在一对单引号中,不能是双引号,有且只能有一个字符
'a'----97
'A'----65
'0'----48
double表示1/10时候(0.1)会有误差
double dou=4.0-3.9;
System.out.print(dou);//0.10000000000000009
double a=80/100 //结果0.0 右边均为int型,结果0;再赋值给double型,将0转换为0.0
double b=80.0/100 //结果0.8 右边有double型直接量参与,运算结果为double型
long参与运算时,有可能超出int范围
在第1个数字后面加L
long num=1000000000L*3*10; //300亿
二,基本类型间转换
隐式(自动):byte->short->int(char)->long->float->double
强转:值前加括号,里面写强转类型,有可能会溢出和精度丢失
int ran=(int)(Math.random()*100);
注意三点规则:
1)整数直接量可以直接赋值给byte,short和char,但不能超范围
2)byte,short和char型变量参与运算时,先一律转为int再运算
例如:
char chr='2'+'0';//50+48=98
System.out.print(chr);//'b' --因为chr为字符型,所以输出为字符
byte b1=5;
byte b2=6;
byte b3=5+6; //正确,int直接量赋值给byte
byte b3=b1+b2;//报错,int变量赋值给byte,需要强转
short s=5;
s=s+10;//编译错误,必须手动强转 s=(short)(s+10);
s+=10;//正确,扩展赋值运算自动强转
3)若两边为数字,则做加法运算;若有一边为字符串,则做字符串拼接
10+20+""+30 //3030
三,使用"++"和"--"运算符
自增运算符和自减运算符,都可以使变量的值加1或减1,但其写在变量前和变量后有不同的效果
1)如果写在变量前表示在使用这个变量之前加1或减1
2)如果写在变量之后表示这个变量使用完之后再加1或减1
例如:
int a=10,b=20;
int c=a++;
int d=++b;
输出结果为:a=11;b=21;c=10;d=21
C语言:变量可直接使用,但其值不确定;
Java:变量必须初始化才可使用,且不能是在if,for循环等中定义的初始化
变量从声明开始,到包含它最近的大括号结束;作用域重叠时,变量不能重名.
四,循环结构
循环:反复执行一段相同或者相似的代码
循环变量:在循环过程中所改变的那个量
while(boolean){
循环体:反复做的那件事
}
循环三要素:
1.循环变量的初始化;
2.循环的条件(以循环变量为基础);
3.循环变量的改变(向着循环的结束变)
例如:-----------------跑三圈
循环变量:圈数
循环体:够3圈吗?不够,圈数加1
1.循环变量的初始化:int count=0
2.循环的条件(以循环变量为基础):count<3
3.循环变量的改变(向着循环的结束变):count++
1)switch case 的用法
int num =0;
switch(num){//byte,short,int,char 型均可判断
default: //所有case都没配上时执行,和其所在位置无关.放上面时需要加break;
break;
case 1,2,3:
System.out.print("匹配");
break;
case 0:
System.out.print("未匹配");
break;
}
2)三种循环结构(while,do-while,for)的更佳适用情况:
while:"当..."循环结构
do...while:"直到..."循环结构,当第一要素与第三要素相同时,首选
for:固定次数循环,应用率最高
3)嵌套循环
循环中套循环,一般多行多列时使用,外层控制行,内层控制列
执行过程:外层循环走一次,内层循环走所有次
建议:嵌套层次越少越好(一般最多2层循环),超过三层的循环,说明设计有问题.
break只能跳出一层循环
五,程序=算法+数据结构
1.设计数据结构:数据,变量和类型
2.设计方法结构:方法
3.设计算法:方法的实现