Java基础学习

java基础知识

输入

Scanner工具类

基本语法为:

Scanner scn=new Scanner(System.in);

注意

用完流控制后要释放资源:

scn.clase();

通过Scanner类的next()与nextLine()方法获取输入的字符串;

并且在读取数据之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据。

next()

  • 一定要读取到有效字符才可以结束输入
  • 对输入有效字符之前遇到的空白,会将其自动去掉
  • 只有输入有效字符串后才以空白字符作为分隔符结尾
  • 不能得到带有空白字符的字符串

nextLine()

  • 以enter为结束符,返回输入回车字符之前的所有内容
  • 可以获得空白字符

其他的还有:nextInt(),nextFloat(),nextDouble()···

提醒

double,float类型的数据可以向下兼容。

选择控制

if选择,单选,双选,多选

这里就不细说了。

switch选择结构

具体结构如下:

switch(k){
    case k1:
        ...
        break;/*可选。否则会出现case穿透的现象。即下面的case全部会执行。*/
    case k2:
        ...
        break;//可选。
    default k3://可选。
        ...
}

循环结构

这里就讲讲goto,这个词是java里面的保留字。但是我们在用的时候却是用标签,例如:outer。

下面是一段计算101到150之间的所有素数并输出。

outer:for (int i=101;i<=150;i+=2) {
            for (int j=2;j<i/2;j++){
                if (i%j == 0)
                    continue outer;
            }
            System.out.print(i+2+" ");
    		System.out.print(i+2+' ');
            System.out.print(" "+i+2+" ");
        }

下面是上述程序的运行结果:

103 135 1012 105 137 1032 109 141 1072 111 143 1092 115 147 1132 129 161 1272 133 165 1312 139 171 1372 141 173 1392 151 183 1492 
Process finished with exit code 0

顺便提醒一下,在输出流中空白字符串与其他不同类型的数据连接时顺序不同结果也不同

就如上例,同样的结果前一个输出是:System.out.print(i+2+" ");结果为:103

中间一个输出为System.out.print(i+2+’ ');结果为:135

最后一个输出为System.out.print(" “+i+2+” ");结果为:1012

很明显,如果是空白字符则直接ASCII相加;如果是空白字符串在前面相连接,则整个结果都是字符串相连接;如果空白字符串在后面相连接就先算完前面的代数运算再输出。

面向对象编程oop

  • 我们在定义类内的方法的时候要注意,在主方法里面调用本类的方法有以下两种情况:

    1. 对于静态方法,直接调用或者用类名调用。
    2. 对于一般方法,需要实例化后才能调用。
  • 而对于一般方法来说,相互之间的方法调用又可以分为以下几种情况:

    1. 对于在静态方法中调用一般非静态方法,需要先实例化。

      可以这样理解,静态方法要先与实例对象产生,而非静态方法需要等待实例化之后才能使用。

    2. 对于在非主方法中调用静态方法,一般不用类名调用,直接写函数名就行。具体如下:

      注意,是‘不用’而不是‘不能’

public class Inclass {
    public static void say(){
        System.out.println("我说话了");
        new Inclass().tell();
    }

    public void tell(){
        System.out.println("我告诉你");
    }

    public void take(){
        Inclass.say();
        tell();
        say();
    }

    public static void main(String[] args) {
        new Inclass().tell();
        Inclass.say();
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值