1.变量:存数的,代词,指代的就是它所存的那个数
1)变量的声明
int a;//声明一个整形变量,名为a
int b,c,d;//声明三个整形变量,名为b,c,d
2)命名
2.1)只能包含字母,数字,_和$符,并且不能以数字开头
2.2)严格区分大小写
2.3)不能使用关键字
2.4)可以中文命名,但不建议 建议“见名知意”驼峰命名法
3)初始化:第一次赋值
3.1)声明的同时初始化:
int a = 250;//声明整形变量a并赋值为250
3.2)先声明后初始化:
int a ;//声明整形变量a
a = 250;//给变量a赋值为250
4)使用:
4.1)必须与数据类型匹配
int a = 5.678;//编译错误,数据类型不匹配
4.2)对变量的操作就是对它所存的那个数的操作
int a = 5;//声明整形变量a并赋值为5
int b =a+10;//取出a的值5,加10后 ,再赋值给a
a = a+10; //取出a的值5,加10后,再赋值给a
System.out.println(a);//输出a的值15
System.out.println("a");//a,原样输出
4.3)变量在用之前必须声明并初始化
System.out.println(m);//编译错误,m未声明
int m;
System.out.println(m);//编译错误,m未初始化
int m = 250;
System.out.println(m);//输出m的值250
2基本数据类型
1)int:整形,4个字节,-21个多亿到21个多亿
1.1)整数直接量默认为int型,不能超范围,否则会编译错误
1.2)两个整数相除,结果还是整数,小数位无条件舍弃
1.3)运算时超出范围会发生溢出,溢出时需要避免的
2)long:长整型,8个字节,很大很大很大
2.1)长整型直接量为在数字后加l或L
2.2)算数运算时有可能超范围,建议在第1个数字后加L
2.3)System.currentTimeMillis()用于获取1970.1.1零时到此时此刻所经历的毫秒数
3)double:浮点型,8个字节,很大很大
3.1)浮点数直接量默认为double型,表示float型需加f或F
3.2)double型数据运算时,可能会发生舍入误差
4)char:字符型,2个字节
4.1)采用unicode编码,每个字符(char)都有一个对应的码(int)
表现形式为char字符,实质上是int码
4.2)字符必须放在单引号中,有且仅有一个
4.3)特殊符号需通过\来转义
5)boolean:布尔型,1个字节
5.1)只能取值为true和false
3.基本类型间的转换
类型从小到大依次为:byte,short,int,long,float,double
char
1)两种方式
1.1)自动类型转换:从小类型到大类型
1.2)强制类型转换:从大类型到小类型
强转有可能会溢出和精度丢失
2)两点规则:
2.1)整形直接量可以直接赋值给byte,short,char,但不能超范围
2.2)byte,short,char,型变量参与运算时,先一律转为int再运算
4.Scanner的用法
1)在package下:
import java.util.Scanner;
2)在main方法中:
Scanner scan = new Scanner(System.in);
3)在第2步之下
System.out.println("请输入年龄:");
int age = Scan.nextInt();
System.out.println("请输入单价:");
double price = scan.nextDouble();
任务:
1.创建day03包,在day03包中完成如下内容:
1)创建类Age,
要求:接收用户输入的年龄age(int),并输出
2)创建类LeapYear,
要求:接收用户输入的年份year(int),并输出
3)创建类ScoreLevel,
要求:接收用户输入的成绩score(int),并输出
4)创建类CommandBySwitch
要求:接收用户输入的命令command(int),并输出
5.给变量赋值三种方式:
1)赋值一个固定的值:
int a =5;
2)接受用户输入的一个值
int a =?
3系统随机生成一个值:
int a = ?;
6.
byte b1=5;
byte b2=6;
byte b3=(byte)(b1+b2);
7.
回车,TAB----------控制字符-------需要转义
char c1=‘‘;
8.
char c1=‘A‘;
System.out.println(c1); //A
char c2=65;
System.out.println(c2); //A
字符char,实质上是码int
System.out.println(2+2); //4
System.out.println(2+‘2‘); //52
System.out.println(‘2‘+‘2‘); //100
‘0‘--48
字符-----一个
码-----0到65535之间
ASCII码:
‘a‘--97,‘A‘--65,‘0‘--48
char int
敌-------------1234
军-------------5678
来-------------4321
袭-------------8765
字符(char)是表现的形式,实质上是其对应的码(int)
dataTypeDemo--------驼峰命名法
DataTypeDemo--------帕斯卡命名法(类名)
int a=10000000000; //编译错误(直接量超范围)
int a=1000000000*10; //溢出(运算时超范围)
运算时有可能超出int范围时,在第1个数字后加L
long a = 1000000000*2*10L;
System.out.println(a); //200亿
long b = 1000000000*3*10L;
System.out.println(b); //不是300亿
long c = 1000000000L*3*10;
System.out.println(c); //300亿
int balance = 2147483647;
balance=balance+1; //-2147483648
1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)
1G=1024*1024*1024----1073741824
37------int,long
建议选择择int------4个字节
够用就行,因为每种类型所占用的内存空间是不一样的
注释分三种:
1.单行注释://
2.多行注释:/* */
3.文档注释: