变量相当于内存中的一个数据存储空间的表示。通过访问这个变量就相当于数据存储的空间。
// 声明变量
int a;
// 变量赋值
a = 15;
// 打印
System.out.println(a);
// 也可以定义的同时进行赋值。
int b = 10;
每个数据都定义了明确的数据类型,在内存中分配了不同大小的存储空间(字节)
说明:
- java数据类型分为两大类:基本数据类型,引用数据类型。
- 基本数据类型有8种:byte,short, int, long, float, double, char, boolean
- 引用数据类型:类,接口,数组
| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| byte 字节 | 1字节 | -128~127 |
| short 短整型 | 2字节 | -215~215-1 |
| int 整型 | 4字节 | -231~231-1 |
| long 长整形 | 8字节 | -263~263-1 |
L| 类型 | 占用存储空间 | 范围 |
|---|---|---|
| float 单精度 | 4字节 | -3.403E38~3.403E38 |
| double 双精度 | 8字节 | -1.798E308~-1.798E308 |
说明:
- 浮点数在机器中的存储形式简单说明:浮点数 = 符号位 + 指数位 + 尾数位
具体存储可以看我的C语言专栏-C语言进阶数据的存储- 尾数部分可能丢失。造成精度的损失。(小数都是近似值)
阅读以下代码
double num1 = 2.7;
double num2 = 8.1/2.7;
System.out.println(num1); // 结果为2.7
System.out.println(num2); // 结果为接近2.7的一个小数。不是2.7
当我们对运算结果是小数的结果进行判断时,要非常的小心。
解决方法: 使用精度进行判断。
解决
if(Math.abs( num1 - num2 ) < 0.000001){}
//计算两个数的绝对值。0.000001不是固定的,根据需求来
字符类型可以表示单个字符,字符类型为char, char是两个字节(可以存放汉字),搓个祖父我们用字符串String。
' ')括起来的单个字符。\来将其后的字符变为特殊的字符常量。当java程序在进行赋值或运算时,精度小的类型会自动转化为精度大的精度类型,这就是自动类型转换。
数据类型转换精度(容量)大小排序:
(小)char - int - long - float - double(大)
(小)byte - short - int - long - float - double(大)
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成精度降低或溢出。
我们经常需要将基本数据类型转换成String类型,或者将String类型转换成基本数据类型。
int n1 = 100;
float n2 = 1.1f;
double n3 = 3.4;
boolean b = true;
String s1 = n1 + "";
String s2 = n2 + "";
String s3 = n3 + "";
String s4 = b + "";
System.out.println(s1 + " " + s2 + " " + s3 + " " + s4);
//进行类型转换
int num1 = Integer.parseInt(s5);
double num2 = Double.parseDouble(s5);
float num3 = Float.parseFloat(s5);
long num4 = Long.parseLong(s5);
byte num5 = Byte.parseByte(s5);
boolean b = Boolean.parseBoolean("true");
short num6 = Short.parseShort(s5);
结果
System.out.println(num1);//123
System.out.println(num2);//123.0
System.out.println(num3);//123.0
System.out.println(num4);//123
System.out.println(num5);//123
System.out.println(num6);//123
System.out.println(b);//true
在将String类型转换成基本数据类型时,要确保String类型能够转成有效的数据。
如:可以将“123”转换成数据,不能把"hello"转换成一个整数。
如果格式不正确,就会抛出异常,程序会终止。
public class Homework01{
public static void main(String[] args){
int n1;
n1 = 13;
int n2;
n2 = 17;
int n3;
n3 = n2 + n1;
System.out.println("n3 = " + n3);
int n4 = 38;
int n5 = n4 - n3;
System.out.println("n5 = " + n5);
}
}
\n \t \r \\ 1 2 3 等字符,并打印输出。| 姓名 | 年龄 | 成绩 | 性别 | 爱好存储 |
|---|---|---|---|---|
| xx | xx | xx | xx | xx |
要求:
用变量将姓名、年龄、成绩、性别、爱好 存储
使用+
添加适当的注释
添加转义字符,使用一条语句输出。
个人答案
38
8
\n \t \r \\ 1 2 3 等字符,并打印输出。public class Homework02{
public static void main(String[] args){
char c1 = '\n'; // 换行
char c2 = '\t'; // 制表符
char c3 = '\r'; // 回车
char c4 = '\\'; // 输出\
char c5 = '1'; //
char c6 = '2'; //
char c7 = '3'; //
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println(c4);
System.out.println(c5);
System.out.println(c6);
System.out.println(c7);
}
}
public class Homework03{
public static void main(String[] args){
// 保存书名
String book1 = "水浒传";
String book2 = "西游记";
System.out.prinln(book1 + book2);
// 保存性别使用char即可
char c1 = '男';
char c2 = '女';
System.out.prinln(c1 + c2);
}
}
public class Homework03{
public static void main(String[] args){
// 定义变量
String name = "Lichen";
int age = 20;
double score = 80.9;
char gender = '男';
String hobby = "play";
// 输出信息
System.out.println("姓名\t年龄\t成绩\t性别\t爱好\n" + name + "\t"
+ name + "\t" + age + "\t" + score + "\t"+ gender + "\t"
+ hobby + "\t")
}
}