20190701(输出、变量、数据类型及其转换)
标签: java
#输出命令
System.out.println(“徐凤年”+“两袖青蛇”+“剑开天门”);
System.out.print(“李淳罡两愿天下剑士”);
输出语句快捷健输入Syso再按Alt+?
print 不换行 println 换行
#注释
指定java文件中的某些内容不编译
1.单行注释 // 快捷键:Ctrl+?
2.多行注释 /* */
3.文档注释
什么时候使用注释:
1.注释掉暂时不想运行的代码
2.注释掉解释代码的文字
#注意缩进
正确缩进的快捷键 Ctrl+A 全选后再按I 即按住三个键Ctrl+A+I
Ctrl+A 全选 Ctrl+I 格式化代码为正确缩进
更强的格式化代码方法 鼠标右键点击后,选择Source中选择Format
#变量
1.什么是变量?
变化的数值
java中变量就是变化数值的载体
2.变量的声明
要想使用变量,必须先声明变量
声明变量的两个要素:类型和名称
例如:整数类型的X------int x;
表示告诉java,我需要一个整数类型的变量,名为x
还可以这样声明 int a,b,c;
3.变量的初始化
声明变量要在使用前初始化变量
初始化:为变量第一次赋值
声明变量的同时可以初始化赋值int x = 35;
还可以 int a,b=10,c=30 其中注意,变量a只声明了未赋值
4.变量的使用
就是将变量中保存的值取出来使用
4.1 输出 System.out.println(“x”);
4.2 在计算中出现 x=x-10
5.变量使用的注意事项
5.1 已经声明的变量不能再次声明
例如 int x = 20; int x = 35; //编译错误
5.2 为变量赋的值必须匹配它的数据类型
例如 int x = 5.2; //编译错误
5.3 变量必须先声明再初始化才能使用
例如 z = 20; //编译错误,没有声明类型
int z; System.out.println(z); //编译错误
#变量的命名
1.变量的命名规则
1.1 变量的组成
允许字母,数字,_,$ 做变量名的组成部分
单个或多个字符组成变量,数量不限
数字不允许作为开头
1.2 变量名中不能包含空格
1.3 变量名区分大小写
1.4 关键字不能作为变量名(在java中显示为紫色的都是关键字,例如public,class等)
2.变量的命名规范
2.1 变量名使用英文单词来命名
2.2 变量名应该见名知意,例如:age,name等
2.3 如果变量名由多个单词组成,驼峰命名法
第一个单词的首字母小写,第二个单词开始,每个单词首字母大写,例如; int tomMathScore = 93;
###java中的数据类型
两大类:基本数据类型,引用数据类型
##java中的基本数据类型(四类八种)
四类:整型(byte、short、int、long)、浮点型(float、double)、字符型(char)、布尔型(boolean)
总共有8个基本数据类型,4个整数,2个小数,2个非数
#四个整数:
- byte (字节型): 1字节 取值范围: -128到127 一个非常小的整数类型,不经常使用,通常在IO中才用到
- short (短整型): 2字节 取值范围: -32768到32767 一个较小的整数类型,不经常使用
- int (整形): 4字节 取值范围: -21亿到21亿 最常用的数据类型,注意计算的结果超过int的取值范围,会出现溢出现象
例如: int i = -2100000000; System.out.println(i+100000000); 运算时超过取值范围时会发生溢出
System.out.println(Integer.MAX_VALUE); 查看int的最大值 - long (长整形): 8字节 很大 较常用,int类型无法保存较大数据时使用 如果直接量超过了int取值范围,需要在该值后面加一个L (l)
使用 long 类接受 System.currentTimeMillis(); 接受的这个值为时间偏移量,1970-1-1 00:00:00 到现在经历的毫秒值 例如:long l = System.currentTimeMillis();
java程序中的直接量
直接量:直接编写在代码中的数字(即默认的数据类型)
java中直接编写的整数数字类型为 int 型 ,小数类型为 double 型
更大的就需要借用引用数据类型了,例如 BigInteger
#两个小数:
5. float (浮点,单精度) 4字节
float 可以接收小数类型数据,但是直接给 float 类型赋值时需要在直接量后加f或F,所以不经常使用
6. double (双浮点,双精度)
double 是今后经常使用的小数类型,它是直接量
所有浮点类型运算中,计算的结果都可能产生舍入误差
由于计算机内部采用2进制,人使用10进制,不是每一个2进制的小数都可以用10进制为表示的。
2进制系统中无法精确的表示1/10,就好像十进制系统中无法精确的表示1/3一样。
所以,2进制表示10进制会有一些舍入误差,对于一些要求精确运算的场合会导致代码的缺陷。
要防止这个误差需要用引用类型,如:BigDecimal
#两个非数
7. char (字符型) 2字节 取值范围 0到65535
char类型能存储单个英文字符,用’‘将要存储的字符存储起来 例如:char c = ‘我’
计算机内部,一个字符实际上就是一个数字的转换(ASSII码),常见的有a – 97 , A – 65 , 0(零) --48
char类型存储特殊字符时需要用转义符(\),比如" ’ ",单引号需要 char c = ‘’’,其中’表示单引号
8. boolean (布尔型)1字节 只有true和false两个值,表示真或假的数据类型
##数据类型的转换
(类型转换时数据类型由小到大:byte、short/char、int、long、float、double)
- 数据类型的转换原因
java中只允许相同数据类型的数据进行计算,而计算结果还是这个数据类型 - 自动数据类型转换(隐式类型转换)
当两个不同数据类型的数据进行计算时,较小的数据类型会自动转换为较大的数据类型,计算的结果是较大的数据类型(注意byte、short、char三个运算时结果是int型)
小类型向大类型赋值时,可以自动转换,例如:int a=2; double d=a; - 强制数据类型转换(显示类型转换)
大类型向小类型赋值时,不能自动转换,需手动强制转换(容易出现精度缺失)
当两个数据类型的数据进行计算时,如果想得到较小的数据类型时,就可以使用强制类型转换
例如: double d=2.3; int a=(int)d;
#练习
1.定义一个整数变量价格(price)值为1573,将这个价格打8折后存入变量total1中,输出totle1的值,打8折(total1=price*0.8)
2.三个小朋友考试,小明:93分,小红:82分,小刚:88分,计算三个人的平均分,正确答案:87.66666666666667
//1.
int price = 1573;
double total1 = price*0.8;
System.out.println(total1);
//2.
int xiaoMing=93,xiaoHong=82,xiaoGang=88;
double avg = (xiaoMing+xiaoHong+xiaoGang)/(double)3;
System.out.println(avg);
3.农场养牛,现在有2693.7公斤草料,已知一头牛一天吃25公斤草料,问现有的草料够多少头牛吃一天
//3.
double weight = 2693.7;
int fuck = 25;
int cow = (int)(weight/fuck);
System.out.println(cow);