一、变量
1.什么是变量
在内存中开辟的存储空间,用于存放运算过程中的需要用到的数据。(存数的,代词----指代它所储存的那个数)
1.1 变量的声明
用特定的语法声明一个变量,让运行环境为其分配空间。
(在银行开立一个账户)
int a;
1.2 变量的初始化
对变量的第一次赋值。(给账户存钱)
int a;
a=10;
int b=10;
1.3 变量的使用
①对变量的使用就是对它所存数的使用
int a=5;
int b=a+10;//取出a的值5,加10后赋值给b;
System.out.println(b);//输出变量b的值。
System.out.println("b");//输出字母b,双引号中原样输出。
②变量的使用必须与数据类型匹配
③变量在使用前必须声明并初始化
1.4变量的命名
只能包含字母、数字、_、$;不能以数字开头。
严格区分大小写
不能使用关键字
允许使用中文但不建议
建议英文的“见名知意”
score,myScore,myJavaScore---------------驼峰命名法(变量)
Score,MyScore,MyJavaScore---------------帕斯卡命名法(类)
package day002;
//变量的演示
public class VarDemo {
public static void main(String[] args) {
//1.变量的声明:开了个账户
int a;//声明了一个整形变量名为a
int b,c,d;//声三个整形变量名为b/c/d
//2.变量的初始化:第一次赋值;给账户存钱
int e=250;//声明整形变量e并且赋值为250
int f;//声明整形变量f
f=250;//给f赋值为250
f=360;//修改变量f的值为360
//变量的使用:用得是账户中的钱
int g=5;
int h=g+10;//取出g的值5,加10后,在赋值给h
System.out.println(h);//输出变量h的值
System.out.println("h");//输出字母h
//int i=3.14//编译错误,数据类型不匹配
//System.out.println(i);//未声明变量i
int i;
//System.out.println(i);//声明后未赋值
//4.变量的命名
int a1,a_5$,_$;
//int a*a;不能使用*
//int 1a;不能使用数字开头
int aa=5;
//System.out.println(Aa);大小应该区分
//int class;不可占用关键词
int 年龄;//可,但不建议
int age;//建议使用
int score,myScore,myJavaScore--------驼峰命名法(变量)
}
}
二、基本数据类型
**八种基本类型:byte,short,int,long,float,double,boolean,char
关于大小单位换算:1G=1024M(兆);1M=1024KB(千字节);1KB=1024B(字节);1B=8Bit(位)
1. int 整形
占用4个字节;取值:-21个多亿到21个多亿;
1.1 整数直接量默认为int类型,但不能超过范围,一旦超出则会发生编译错误。
1.2 两个整数相除还是整数,小数位无条件舍弃。
1.3 整数运算时若超出范围,会发生溢出(溢出需要避免)。
2. long 长整型
占用8个字节,取值:9百万万亿↑;
2.1 长整型直接量需要在数字后加L或者l
2.2 整数运算时,如果可能发生溢出,建议在第一个数字后加L。
3. double 浮点型
占用8个字节,取值范围很大;
3.1 浮点数直接量默认为double型,表示float需要在数后加F或f;
3.2 double和float型数据参与运算时,可能会发生舍入误差(精确场合不能使用);
package day002;
//数据类型 的演示
public class DataTypeDemo {
public static void main(String[] args) {
//1. int:整形,4字节,-21多亿到21多亿
int a=25;//25为整数直接量,默认int型
//int b=10000000000;//超出范围所以编辑错误;
System.out.println(5/2);//2
System.out.println(2/5);//0
System.out.println(5.0/2); //2.5
int c=2147483647;//int的最大值
int d=c+1;
System.out.println(d);//-2147483648(int最小值)
//2.long:长整型,8个字节,很大很大
//long e=10000000000000;//编译错误,如不加L,则默认为int;
long f=1000000000000l;//长整型直接量需要在数字后加L
long g=1000000000*2*10L;
System.out.println(g);//200yi
long h=1000000000*3*10L;
System.out.println(h);//yichu
long i=1000000000L*3*10;
System.out.println(i);//300yi
//3.double:浮点型,8个字节,很大很大
double ao=3.1415986;//3.1415986为浮点数直接量,默认double型
double j=6.0,k=4.9;
System.out.println(j-k);
//4. boolean:布尔型,1字节
boolean b1=true;//true为布尔型的直接量
boolean b2=false;//false为布尔型的直接量
//boolean b3=25;//编辑错误,布尔型只能取值为true或者false;
//5.char:字符型,2个字节
char c1='女';//字符女
char c2='f';//字符f
char c3='8';//字符8
char c4=' ';//字符空格
//char c5=女;//编译错误,字符必须在单引号中
//char c6='';//不允许空字符
//char c7='女男';//不允许多字符
char c8=65;//直接写了代码,其等于char c8='A';0到65535之间
System.out.println(c8);//A
//类型间的转换:
int a=5;
long b=a;//自动类型转换
//int c=b;//由大到小要强转,这样为编辑错误
int c=(int)b;//强转类型转换
long d=5;//自动类型转换
double e=5;//自动类型转换
long f=100000000000l;
int g=(int)f;
System.out.println(g);//发生溢出现象,故强转有可能会发生溢出;
double h=45.987;
int i=(int)h;
System.out.println(i);//强转有可能丢精度
byte b1=5;//整数直接量可以直接赋值给byte、short、char
byte b2=6;
// byte b3=b1+b2;//byte、short、char型数据参与运算时,会先一律转换为int再运算,int比byte等级高,
byte b4=~~(byte)( b1+b2);如果不加后面括号,会发生优先级报错;
}
}
4. boolean 布尔型
占用1个字节,只能赋值true或false;
4.1 只能取true或false
5. char 字符型
占用2个字节
5.1 采用Unicode字符集编码,每个字符都有一对应码;表现形式是字符char,本质上是int;
ASCII码**(‘a’—97 ‘A’-------65 ‘0’------48)**
5.2 字符型直接量必须在单引号里面,只能有一个
5.3 特殊字符需要通过前加“\”来处理,例如‘\;’输出‘;’
三、类型间转换
类型从小到大依次为:byte-----short----int----long—float—double
char—int
1. 两种方式
1.1 自动类型转换:小类型到大类型
1.2 强转类型转换:大类型到小类型
语法:(要转成的类型)变量
注意:强转有可能会溢出or丢失精度;
2. 两点规则
2.1 整数直接量可以直接赋值给byte、short、char,但不能超出范围。
2.2 byte、short、char型数据参与运算时,会先一律转换为int再运算;
int a;//int a;int a;int a;int a;
int b,c,d;//int b,c,d;int b,c,d;int b,c,d;int b,c,d;
int e=25;//int e=25;int e=25;int e=25;int e=25;
int f;f=25;
//4 int f;f=25;
//3 int f;f=25;
//2 int f;f=25;
//1 int f;f=25;
int g=25;int h=g+10;
//4 int g=25;int h=g+10;
//3 int g=25;int h=g+10;
//2 int g=25;int h=g+10;
//1 int g=25;int h=g+10;
//5 int i=34.567;
//4 int i=34.567;
//3 int i=34.567;
//2 int i=34.567;
//1 int i=34.567;
//5 System.out.println(j);
//4 System.out.println(j);
//3 System.out.println(j);
//2 System.out.println(j);
//1 System.out.println(j);
/*5 int j;
System,out.println(j);*/
/*4 int j;
System.out.println(j); */
/*3 int j;
System.out.println(j); */
/*2 int j;
System.out.println(j); */
/*1 int j;
System.out.println(j); */
int a=25;//int a=25;int a=25;int a=25;int a=25;
//5 int b=10000000000;
//4 int b=10000000000;
//3 int b=10000000000;
//2 int b=10000000000;
//1 int b=10000000000;
System.out.println(5/3);//1
//4 System.out.println(5/3);
//3 System.out.println(5/3);
//2 System.out.println(5/30);
//1 System.out.println(5/3);
System.out.println(3/5);//0
//4 System.out.println(3/5);
//3 System.out.println(3/5);
//2 System.out.println(3/5);
//1 System.out.println(3/5);
System.out.println(3.0/5);//0.6
//4 System.out.println(3.0/5);
//3 System.out.println(3.0/5);
//2 System.out.println(3.0/5);
//1 System.out.println(3.0/5);
int c=2147483647;
//4 int c=2147483647;
//3 int c=2147483647;
//2 int c=2147483647;
//1 int c=2147483647;
int d=c+1;System.out.println(d);
//4 int d=c+1;System.out.println(d);
//3 int d=c+1;System.out.println(d);
//2 int d=c+1;System.out.println(d);
//1 int d=c=1;System.out.println(d);
long e=10000000000L;System.out.println(e);
//4 long e=10000000000L;System.out.println(e);
//3 long e=10000000000L;System.out.println(e);
//2 long e=10000000000L;System.out.println(e);
//1 long e=10000000000L;System.out.println(e);
long g=1000000000*2*10L;System.out.println(g);
//4 long g=1000000000*2*10L;System.out.println(g);
//3 long g=1000000000*2*10L;System.out.println(g);
//2 long g=1000000000*2*10L;System.out.println(g);
//1 long g=1000000000*2*10L;System.out.println(g);
long h=1000000000L*3*10;System.out.println(h);
//4 long h=1000000000L*3*10;System.out.println(h);
//3 long h=1000000000L*3*10;System.out.println(h);
//2 long h=1000000000L*3*10;System.out.println(h);
//1 long h=1000000000L*3*10;System.out.println(h);
double i=25.789;
//4 double i=25.678;
//3 double i=25.878;
//2 double i=25.789;
//1 double i=25.789;
double j=6.0,k=4.9;System.out.println(j-k);
//4 double j=6.0,k=4.9;System.out.println(j-k);
//3 double j=6.0,k=4.9;System.out.println(j-k);
//2 double j=6.0,k=4.9;System.out.println(j-k);
//1 double j=6.0,k=4.9;System.out.println(j-k);
boolean b1=true;
//4 boolean b1=true;
//3 boolean b1=true;
//2 boolean b1=true;
//1 boolean b1=true
boolean b2=false;
//4 boolean b2=false;
//3 boolean b2=false;
//2 boolean b2=false;
//1 boolean b2=false;
//5 boolean b3=25;
//4 boolean b3=25;
//3 boolean b3=25;
//2 boolean b3=25;
//1 boolean b3=25;
char c1='女';//char c1='女';char c1='女';char c1='女';char c1='女';
char c2='f';//char c2='f';char c2='f';char c2= 'f';char c2='f';
char c3='8';//char c3='8';char c3='8';char c3='8';char c3='8';
char c4=' ';//char c4=' ';char c4=' ';char c4=' ';char c4=' ';
//5 char c5='';
//4 char c5='';
//3 char c5='';
//2 char c5='';
//1 char c5='';
//5 char c6=女;
//4 char c6=女;
//3 char c6=女;
//2 char c6=女;
//1 char c6=女;
//5 char c7='中国';
//4 char c7='中国';
//3 char c7='中国';
//2 char c7='中国';
//1 char c7='中国';
char c8='\"';System.out.println(c8);
//4 char c8='\"';System.out.println(c8);
//3 char c8='\"';System.out.println(c8);
//2 char c8='\"';System.out.println(c8);
//1 char c8='\"';System.out.println(c8);
char c9=65;System.out.println(c9);
//4 char c9=65;System.out.println(c9);
//3 char c9=65;System.out.println(c9);
//2 char c9=65;System.out.println(c9);
//1 char c9=65;System.out.println(c9);
int a=5;long b=a;int c=(int)b;
//4 int a=5;long b=a;int c=(int)b;
//3 int a=5;long b=a;int c=(int)b;
//2 int a=5;long b=a;int c=(int)b;
//1 int a=5;long b=a;int c=(int)b;
long d=5;
//4 long d=5;
//3 long d=6;
//2 long d=7;
//1 long d=7;
double e=5;
//4 double e=6;
//3 double e=7;
//2 double e=8;
//1 double e=9
long f=10000000000l;int g=(int)f;System.out.println(g);
//4 long f=10000000000l;int g=(int)f;System.out.println(g);
//3 long f=10000000000l;int g=(int)f;System.out.println(g);
//2 long f=10000000000l;int g=(int)f;System.out.println(g);
//1 long f=10000000000l;int g=(int)f;System.out.println(g);
double h=45.987;int i=(int)h;System.out.println(i);
//4 double h=45.987;int i=(int)h;System.out.println(i);
//3 double h=45.678;int i=(int)h;System.out.println(i);
//2 double h=46.456;int i=(int)h;System.out.println(i);
//1 double h=46.123;int i=(int)h;System.out.println(i);
byte b1=5;byte b2=6;byte b4=(byte)(b1+b2);
//4 byte b1=5;byte b2=6;byte b4=(byte)(b1+b2);
//3 byte b1=5;byte b2=6;byte b4=(byte)(b1+b2);
//2 byte b1=5;byte b2=6;byte b4=(byte)(b1+b2);
//1 byte b1=5;byte b2=6;byte b4=(byte)(b1+b2);
//‘a’---97 ‘A’-------65 ‘0’------48
//5 System.out.println('2'+'2');
//4 System.out.println('2'+'2');
//3 System.out.println('2'+'2');
//2 System.out.println('2'+'2');
//1 System.out.println('2'+'2');
long time=System.currentTimeMillis();System.out.println(time);
//4 long time=System.currentTimeMillis();System.out.println(time);
//3 long time=System.currentTimeMillis();System.out.println(time);
//2 long time=System.currentTimeMillis();System.out.println(time);
//1 long tiem=System.currentTimeMillis();System.out.println(time);
int a=5;a=a+10;System.out.println(a);
//4 int a=5;a=a+10;System.out.println(a);
//3 int a=5;a=a+10;System.out.println(a);
//2 int a=5;a=a+10;System.out.println(a);
//1 int a=5;a=a+10;System.out.println(a);
//5 double money=5000;money=money*0.8;System.out.println(money);
//4 double money=5000;money=money*0.7;System.out.println(money);
//3 double money=6000;money=money-1000;System.out.println(money);
//2 double money=7000;money=money-2000;System.out.println(money);
//1 double money=8000;money=money*0.6;Syetem.out.println(money);