#八大基本数据类型
##测试数据类型的取值范围
package day0102;
public class Test1 {
public static void main(String[] args)
//=====1、整型测试开始
byte a=-128;
byte b=127;
short c=Short.MIN_VALUE;
short d=Short.MAX_VALUE;
int e=Integer.MIN_VALUE;
int f=Integer.MAX_VALUE;
long g=Long.MIN_VALUE;
long h=Long.MAX_VALUE;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(g);
System.out.println(h);
//=====整型测试结束
//=====浮点测试开始
float i=Float.MIN_VALUE;
float j=Float.MAX_VALUE;
double k=Double.MIN_VALUE;
double l=Double.MAX_VALUE;
System.out.println(i);
System.out.println(j);
System.out.println(k);
System.out.println(l);
//=====浮点测试结束
//=====字符测试开始
char a='a';
char b=97;
char c='b';
char d=98;
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
//=====字符测试结束
}
}
##题目:计算圆形面积
圆的面积:πrr
圆的周长:2πr
package day0104;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
System.out.println("请输入圆的半径");
double r=new Scanner(System.in).nextDouble();
System.out.println(3.14*r*r);
}
}
##变量交换
收用户输入的值:假设a=1,b=2将a和b的值做交换。
package day0103;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
System.out.print("输入整数a:");
int a=new Scanner(System.in).nextInt();
System.out.print("输入整数b:");
int b=new Scanner(System.in).nextInt();
int t=a;
a=b;
b=t;
System.out.println(a);
System.out.println(b);
}
}
#引用数据类型
引用类型是一个对象类型,值是什么呢?它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。如:类,接口,数组
String 字符串也是一个引用数据类型
#数据类型之间的转换
##大到小(显式转换)
需要强制类型转换
int xx = 356;
byte y=(byte) xx;
注意:小数转成整数,小数直接舍弃
##小到大(隐式转换)
Byte a =120;
Int b=a;//直接转
运算规则(5条)
计算结果的数据类型,与最大类型一致
3/2 得1 ,而不是1.5,结果是int类型
3d/2 得1.5,相当于double/int,结果是double类型
###byte,short,char三种比int小的整数,运算时会先自动转换成int
byte a=3;
byte b=4;
byte c=a+b;//错,运行时,byte会先自动转成int再运算,int+int还是int
###整数运算溢出
整数运算,类似于一个中标,转到最大时,再转会回到最小。
计算:光速运行一年的长度是多少米
System.out.println(300000000606024365);
System.out.println(300000000l606024365);
###浮点数运算不精确
java提供了解决方案,后面就会讲到。
System.out.println(1-0.8);
System.out.println(4.35*100);
浮点数的特殊值
Infinity 无穷大 3.14/0
Nan not a number 0/0.0
char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode(不选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个 char 类型占 2 个字节(16 比特),所以放一个中文是没问题的