由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转化。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gG91IQAu-1647877914897)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321202823593.png)]
/*强制转换*/ //高-->低 int i=128; byte b=(byte)i;//内存溢出,byte最大值为127 //强制转换 (类型)变量名 高-->低 //自动转换 低-->高 //不需要加任何东西 System.out.println(i);//128 System.out.println(b);//-128 /* 注意 */ int a=10; int b=20; System.out.println(a/(double)b);//因为这里可能有小数 //应该要强转 /*自动转换*/ //低-->高 int i=128; double b=i; System.out.println.println(i);//128 System.out.println(b);//128.0 /* 注意点 1.不能对布尔值转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换到低容量的时候,强制转换 4.转换的时候可能存在内存溢出,或者精度问题 */ //精度存在问题 System.out.println.println((int)23.7); System.out.println.println((int)-45.89f); char c='a'; int d=c+1; System.out.println.println(d);//98 System.out.println.println((char)d);//d //注意,操作比较大的数的时候,注意溢出问题 //JDK 7新特性,数字之间可以用下划线分割 int money=10_0000_0000; System.out.println.println(money); int year=20; int total=money*years; System.out.println.println(total);//-147..... //计算的时候溢出了 long total2=money*years;//也是负数,默认是int,转换之前已经存在问题 long total3=money*((long)years);//输出正确,先把一个数转化成long System.out.println.println(total3); //用L表示比较好
运算中,不同类型的数据先转化成同一类型,然后进行运算
强制类型转换
自动类型转换
//局部变量(方法里面) public static void main(String[] args){ //局部变量,必须声明和初始化变量 int i=10; } //实例变量:从属于这个对象,如果不初始化,默认值是0,0,0 布尔值默认是false //除了基本类型,其他默认值都是Null public class My{ String name; int age; } //类变量 public class My{ static double salary=2500; }
static final double PI=3.14; //修饰符,不存在先后关系
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5zY1V797-1647877914898)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321210912898.png)]
a++;(先赋值,再++)
有一个面试题
System.out.println(""+a+b);//1020,如果字符串在前面,字符串会拼接 System.out.println(a+b+"");//30,如果字符串在后面,会正常运算
Java doc命令是用来生成自己 A P I文档的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-soNIsBRc-1647877914899)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321222428008.png)]
用命令行生成API文档
index.html(是自己的API文档)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0JA7O46b-1647877914899)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321222953207.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f20NYkNr-1647877914899)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321223031371.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-09RuN1wg-1647877914899)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321223218627.png)]
在文件栏输入cmd
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eFdQO23y-1647877914900)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321223411419.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TTcg4pM3-1647877914900)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321223445546.png)]
java.until.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入
基本语法
Scanner s=new Scanner(System.in);
通过Scanner类的next()与nextLine方法输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine判断是否还有输入的数据。
System.in //输入
Scanner scanner=new Scanner(System.in);//创造一个扫描类对象,用于接受键盘数据。 System.out.println("使用next方式接受"); //判断用户有没有输入字符串 if(scanner.hasNext()){ //使用next方式接收 String str=scanner.next(); System.out.println("输出的内容为"+str); } //凡是属于IO流的类如果不关闭,就会一直占用资源,所以要养成好习惯用完就关闭 scanner.close(); /*eg:输入Hello World--->输出Hello*/
Scanner scanner=new Scanner(System.in);//创造一个扫描类对象,用于接受键盘数据。 System.out.println("使用nextLine方式接受"); //判断用户还有没有输入 if(scanner.hasNextLine()){ //使用next方式接收 String str=scanner.next(); System.out.println("输出的内容为"+str); } //凡是属于IO流的类如果不关闭,就会一直占用资源,所以要养成好习惯用完就关闭 scanner.close(); /*eg:输入Hello World--->输出Hello World*/
next()与nextLine()的区别
一定要读取到有效字符后才可以结束输入。
对输入有效字符之前的空白,next()方法会自动将其去掉,
只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
next()不能得到带有空格的字符串
/*直接这样就行了*/ Scanner scanner=new Scanner(System.in);//创造一个扫描类对象,用于接受键盘数据。 System.out.println("请输入数据"); String str=scanner.nextLine();//这里不用判断 System.out.println("输出的内容为"+str); //凡是属于IO流的类如果不关闭,就会一直占用资源,所以要养成好习惯用完就关闭 scanner.close(); /*eg:输入Hello World--->输出Hello World*/
点类+Ctrl:可以看到类里面的方法
。
System.out.println(“请输入数据”);
String str=scanner.nextLine();//这里不用判断
System.out.println(“输出的内容为”+str);
//凡是属于IO流的类如果不关闭,就会一直占用资源,所以要养成好习惯用完就关闭
scanner.close();
/eg:输入Hello World—>输出Hello World/
# idea小技巧 点类+Ctrl:可以看到类里面的方法 // Ct r l+D 复制当前行到下一行,idea