Java入门01

Java入门01

本文为b站《狂神说Java零基础学习视频》学习笔记

预科知识

常见的DOS命令

打开命令提示符CMD(常用普通 / 以管理员身份运行)

  1. 切换盘符 盘符+”:“

  2. 查看当前目录下的所有文件 dir

  3. 切换目录 cd /d e: 通过/d可以实现跨盘符的操作

  4. cd..返回上一级

  5. cd 目录名 进入某一文件夹

  6. 清理屏幕上所有代码 cls

  7. 退出终端 exit

  8. 查看电脑ip ipconfig

  9. 打开应用

    calc msprint notepad

  10. ping命令(可以得到某网站的ip地址)(测试网络是否正常)

    ping www.baidu.com

  11. 创建文件夹 md test

  12. 创建文件 cd>c.txt

  13. 删除目录:需要先删除文件 del a.txt

    删除目录cd..//回到上一级

    rd text

  14. 查看Java版本java -version

  15. 直接在文件夹导航栏中,在地址前输入CMD + 空格,即可打开CMD

Java基础补充

这一部分已略去与c语言重复的部分,仅针对Java特有的部分进行学习。

Math类

包机制

为了更好地组织类 ,Java提供来包机制,用于区别类名的命名空间(类似于 文件夹,不同的文件夹之间可以存在同名文件)。

包语句的语法:

package pkg1[.pkg2[.pkg3...]];

命名规范:一般使用公司域名倒置作为包名com.baidu.map com.baidu.zhidao

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包(IDEA可以添加)。使用import语句即可完成此功能

import package1[.package2...].(classname|*);

平时如果使用了某个类,但未导入其包,会报错。此时将光标放于报错点上,按第一个推荐建议导入类即可

如果某个包下包含的东西太多,需要一次性导入大量类

import com.kuang.base.*;
//“ * ”表示通配符,代指全部。类似于SQL语句

JavaDoc生成文档

javadoc命令是用来生成自己API文档的

java -encoding UTF-8 -charset UTF-8 Doc.java
    //此为命令,在CMD中,在目标文件的目录下执行
    //效果:生成一个Index.html文件,是一个API文件
    //为了保证中文字符串及注释不显示为乱码,添加两个UTF-8

如何使用IDEA生成javadoc文档?

​ 工具(Tools)→ 生成JavaDoc →

image-20210405142615339

Java流程控制

用户交互Scanner

java.util.Scanner:通过Scanner类来获取用户的输入

Scanner s = new Scanner(System.in);

通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前一般使用hasNext()和hasNextLine()判断是否还有输入的数据

public class Demo01 {
    public static void main(String[] args) {
        //创建一个扫描器的对象,用它来接受键盘数据:

        Scanner scanner = new Scanner(System.in);
        //新建一个Scanner对象,并以System.in为参数,最后将其封装到一个Scanner对象中

        System.out.println("使用next方式接受:");//提示用户进行输入

        //判断用户有没有输入字符串
        if (scanner.hasNext()) {
            //接受用户的输入
            String str = scanner.next();
            System.out.println("输入的内容为:" + str);
        }

        scanner.close();   
        //使用结束后最好将其关闭。
        // I/O流的工具,如果不主动关闭,就会一直占用资源
    }
}

对比hasNext()hasNextLine()

​ 如果输入hello world中间包含空格),只会输出hello

​ 将hasNext()改为hasNextLine()来接受数据,即可输出hello world

next()不能得到含有空格的字符串;nextLine()可以返回敲下空格之前的所有内容。

Scanner进阶

Scanner对于整数和小数也有支持(通过Scanner内的方法实现)

public class Demo02 {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入整数:");
        int i=0;
        float j=0.0f;
        if(scanner.hasNextInt() ){
            i=scanner.nextInt();
            System.out.println("输入的整数为:"+i);
        }
        else
        {
            System.out.println("输入的不是整数!");
        }
        //通过改变if判断句中scanner的方法实现判断输入的数据类型
        //scanner.hasNextFloat()..判断输入的是否为小数。

        //对于定义的数据类型的初始值,需要注意在long和float后加上l和f

        scanner.close();
    }
}

小练习:

可以输入多个数字,并求其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果

public class Demo03 {
    public static void main(String[] args) {
        //可以输入多个数字,并求其总和和平均数,每输入一个数字用回车确认,通过输入非数字来结束输入并输出执行结果
        Scanner scanner=new Scanner(System.in);

        double sum=0;
        int m=0;
        System.out.println("请输入数据:");
        while(scanner.hasNextDouble()){
            double x=scanner.nextDouble();
            m++;
            sum+=x;
            System.out.println("你输入了第"+m+"个数据,当前的运算结果为:"+sum+"终止输入请输入0");

        }
        System.out.println("你输入的数据个数为:"+m);
        System.out.println("数据的和为:"+sum);
        System.out.println("数据的平均值为:"+(sum/m));


        scanner.close();
    }
}

顺序结构

基本结构

选择结构

if单选择结构

if双选择结构(if else)

if多选择结构(if elseif else)

嵌套的if结构

switch多选择结构

switch(expression){
    case value1 :
        //语句
        [break;]
    case value2 :
        //语句
        [break;]
    [default :]
}

循环结构

while循环

do while循环

for循环

增强for循环

(主要用于遍历数组和集合对象)

​ 基本语法结构:

for(声明语句:表达式)
{
    //代码语句
}

​ 实例:(也可以改写为普通for循环)

public class Demo04 {
    public static void main(String[] args) {
       
        int[] numbers= {1,2,3,4,5};//定义数组

        //遍历数组的元素,并将其赋给x
        for(int x:numbers){
            System.out.println(x);
        }
    }
}

break、continue、goto

break强行退出整个循环,不执行剩余语句;

continue终止某次循环过程,跳过循环体中剩余语句,并进行下一次是否执行循环的判断;

Java没有goto,但通过break、continue带标签可以体现goto

Java 方法

方法的定义与调用

例子

 System.out.println();
  • System:系统的类

  • outSystem下的一个输出对象

  • println:一个方法

方法是语句的集合,一起执行一个功能。方法是解决一类问题的步骤的有序集合,包含于类或对象中,在程序中创建、在其他地方引用。(类比c中的函数

回顾:方法的命名规则

  • 第一个单词的首字母小写,第二个单词的首字母大写
public static void mian(String[] args){
    int sum = add(1,2);
    System.out.println(sum);
}

//假发
public static int add(int a, int b){
    return a+b;
}
//在自己编写的函数首部需要添加static,否则无法在此处的main方法中直接使用
//在没学对象之前,此处暂时使用static

方法的规范化定义:

修饰符 返回值类型 方法名(参数类型 参数名){
    ...
    方法体的语句
    ...
    return 返回值;
}
  • 修饰符:public、static、final(可选,可不填)

  • 返回值类型:数据类型。如果没有返回值,记为void

  • 方法名:(命名规范:驼峰)

  • 参数类型:实参(实际调用时输入的参数)/形参 (在创建方法时定义的参数名)

  • return:如果存在返回值,一定要return;如果是void,则不需要return

    return 0:在某些特殊的方法下,使用return结束方法。

拓展了解:值传递(Java都是值传递)与引用传递(c语言中曾经讲过)

值传递是对基本型变量而言的,传递的是该变量的一个副本,改变副本不影响原变量.
引用传递一般是对于对象型变量而言的,传递的是该对象地址的一个副本, 并不是原对象本身 。

方法的重载

重载是在一个类中,有相同的函数名、但形参不同(数据类型不同、形参个数不同)的函数。

方法重载的规则

  • 方法名称必须相同
  • 参数列表必须不同(个数不同、类型不同、参数排列顺序不同等)
  • 方法的返回值可以相同或不同
  • 仅仅返回值不同,不可以作为方法的重载

**实现原理:**方法名称相同时,编译器会根据调用犯法的参数个数、参数类型等去逐个适配,以选择对应的方法。如果匹配失败,则编译器报错。

命令行传递参数

(了解即可)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值