对Java学习的第三周


文章主要内容:
初始函数方法的调用、println()的拓展、markdown语法、nextLine()和next()方法的区别


一.初识方法调用

 public class Test2{
 public static void main (String[] args){
     t2();   //t2为静态方法 静态方法的调用是通过类名来调用的 可直接用

     Test2 out=new Test2(); //t2为静态方法 也可通过对象来调用
     out.t2();  //等价于上面的t2();

     out.t3(); //创建了out对象后可以反复使用out
               /*int a=t3(); //错误: 无法从静态上下文中引用非静态 方法 t3()
                System.out.println("a");*/
    int a=out.t3();
     int b =out.t4();    //通过out引用非静态方法t3();
     System.out.println(a+10);
    Test2 in=new Test2();//非静态方法需通过对象来调用,这里的in相当于out
    in.t3();
                                    }

    Test2 in=new Test2();//非静态方法需通过对象来调用,这里的in相当于out
        in.t3();
                                        }

     public static void t2(){     //静态且无返回值
        System.out.println("t2");
                          }
    
     public  int t3(){       //非静态有int类型的返回值
          int a=0;
        System.out.println("t3");
         return a;
                    }
    
     public  int t4(){
       int a=100;
       int b=t3();//在同类中,非静态方法可以直接调用静态方法与非静态方法。!!!
       System.out.println("t4");
       return a;
                     }
    }

总结:

    1.静态方法调用非静态方法,无论是否在同一类内,均需要通过对象调用
    2.如果不在一个类当中,静态方法调用其他类中的静态方法,必须通 类名.静态方法
    3.调用不在同一类的的需要调用包

    参考链接:https://www.imooc.com/article/13423

二.对print的拓展:

1.System.out.println();输出且自动换行

2.System.out.print();输出不会换行

3.System.out.printf(); 同C语言使用方法


三.markdown语法的使用

概念效果
1. 要加粗文本,请在单词或短语的前后各添加两个星号或 下划线 ** ? **或__ ? __nihao
2. 要用斜体显示文本,请在单词或短语前后添加一个星号或下划线 * ? *或_ ? _nihao
3.斜体且加粗就请在单词或短语前后添加三个星号或下划线 ** * ***或_? _nihao
  1. 要创建块引用,请在段落前添加一个 > 符号

    nihao

5.块引用可以嵌套。在要嵌套的段落前添加一个 >> 符号

niao

nihao

6.要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+)

7.要将单词或短语表示为代码,请将其包裹在反引号 (` `)

8.码的单词或短语中包含一个或多个反引号,可通过将单词或短语包裹在双反引号(````)中。就如7所示。

9.要创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (---) 或下划线 (___) ,并且不能包含其他内容。




10.图片: “!”+"[名字]"+"(地址)"

11.要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符 \

  • nihao
  • + nihao

12.```加所需语言就会有代码块出现


13.超链接: "[ 名字 ] “+”( 地址 ) "



四 .Scanner中nextLine()方法和next()方法的区别

1.初次认识

  • next()在输入有效字符之后,将其后输入的空格键、Tab键或Enter键等视为分隔符或结束

  • nextLine()方法的结束符只能是Enter键

import java.util.Scanner;
public class Test3 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入字符串(nextLine):");
        String str1 = scanner.nextLine();
        System.out.println(str1);

        System.out.println("请输入字符串(next):");
        String str = scanner.next();
        System.out.println(str);



        }
        }

经有空格和无空格测试后发现 next()确实只能输出空格前的字符。

参考于此1

  • 2.进一步了解

next()方法在读取内容时,会过滤掉有效字符前面的无效字符,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其过滤掉;只有在读取到有效字符之后,next()方法才将其后的空格键、Tab键或Enter键等视为结束符;所以next()方法不能得到带空格的字符串。
nextLine()方法字面上有扫描一整行的意思,它的结束符只能是Enter键,即nextLine()方法返回的是Enter键之前没有被读取的所有字符,它是可以得到带空格的字符串的。

参考于此2

  • 3.学习补充:nextline()读取回车问题的具体和解决方法

nextLine()读取回车问题: 我们在使用java读取键盘输入时,如果先读取一个int变量,再读取下一行的字符串时,会发现程序运行结果与预期不符,程序并没有读取到下一行的字符串。

如:

Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
String s=sc.nextLine();

因为 我们使用键盘输入的时候,其实输入了三部分:数字 、回车(enter)、字符串 问题的原因是nextLine()方法没有读取到我们的字符串,而是读入了我们的Enter换行符.

解决方法:

1.将nextLine()换成next(); //因为next()方法在读取内容时,会过滤掉有效字符前面的无效字符

2.使用一个nextline()读掉换行符:

Scanner in=new Scanner(System.in);

int n=in.nextInt();

in.nextLine();//将换行符读掉

String s=sc.nextLine();

3.重新创建Scanner对象:

Scanner sc1=new Scanner(System.in);
int n=sc1.nextInt();
Scanner sc2=new Scanner(System.in);
String s=sc2.nextLine();

这样在读取完n之后,换行符会被丢弃,下一行被视作sc2开始读入的位置

参考于此3

实际运用我会放在下一篇博客————基于控制台设计简易打折与累加计算器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值