Java教程

JavaDay2

本文主要是介绍JavaDay2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

类型转换

  1. 由于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表示比较好
    
  2. 运算中,不同类型的数据先转化成同一类型,然后进行运算

  3. 强制类型转换

  4. 自动类型转换

变量作用域

//局部变量(方法里面)
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生成文档

  1. Java doc命令是用来生成自己 A P I文档的

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-soNIsBRc-1647877914899)(C:\Users\xie\AppData\Roaming\Typora\typora-user-images\image-20220321222428008.png)]

  2. 用命令行生成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)]

  1. 学会查找使用idea找doc文档(还没有搞,迟点再搞)

Scanner对象

  • 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()
    1. 一定要读取到有效字符后才可以结束输入。

    2. 对输入有效字符之前的空白,next()方法会自动将其去掉,

    3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。

    4. next()不能得到带有空格的字符串

    • nextLine()方法
      1. 以enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
      2. 可以获取空白
/*直接这样就行了*/
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*/

idea小技巧

点类+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
这篇关于JavaDay2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!