0
点赞
收藏
分享

微信扫一扫

java学习day01

闲鱼不咸_99f1 2022-01-23 阅读 75

一开始老师给我推荐的马士兵腾讯课堂的视频,但是因为年代久远,有很多东西放在现在不太适用,所以我又在b站搜索了狂神说的java教程,然后又参考了菜鸟教程,这三个教程综合起来学习java(虽然很乱但是这种学习方式对我来说还挺适用……),目前编程语言只学了c,作为一个计算机小白,可能会有很多学习方法不恰当,很多知识点理解错误。都遵从我个人记笔记的习惯,可能会有些混乱。
另外,有关于环境的安装就不会在此说明。

基础语法

标识符

凡是自己可以起名字的地方都叫标识符。

可以包含下划线,$,字母。 约定俗称的规则——见名知意。

关键字

要用时现查即可

常量

以下为各种常量的类型:

  • 整型常量:如123
  • 实型常量:如3.14
  • 字符常量:如’a’
  • 逻辑常量:true,false
  • 字符串常量:如"helloworld"

注:常量在某些语境里也指值不可变的变量。 (final关键字)

变量

程序中是最基本存储单元, 要素包括:变量名,变量类型,作用域。

本质上讲,是内存之中的一小块区域,使用时,必须遵从先声明再赋值 的规则。

程序执行的过程:

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

变量的分类

按被声明的位置分:

  • 局部变量:方法或语句块内部定义的变量
  • 成员变量:方法外部、类的内部定义的变量

按所属的数据类型分:

  • 基本数据类型变量
  • 引用数据类型变量

public class HelloWorld {

    int j  = 9; //成员变量
    public static void main(String[] args) {
        System.out.println("Hello world!");
        int i = 8;  //局部变量
    }
}

数据类型的划分

在这里插入图片描述

Boolean型

用于逻辑运算,true和false

char型

java采用Unicode编码,每个字符占两个字节。

char c1 = '\u0061';

整数类型

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

浮点类型

表示类型:

  • 十进制
  • 科学计数法:如3.14e2

java浮点型常量默认为double类型,所以声明时需要在数字后加f或F,如:

float f = 12.3f

基本数据类型转换

(boolean类型不可以转换成其他类型的)

整型,字符型和浮点型在混合运算中相互转换,遵从以下规则:

  • 容量小的自动转化成容量大的(byte,short,char之间不会互相转换):byte,short,char>int>long>float>double
  • 容量大向容量小的转换要加强制转换符,但可能造成精度降低或溢出。

如:

public class HelloWorld {

    public static void main(String[] args) {
        int i = 19;
        byte b = (byte) i;
        System.out.println(i);
        System.out.println(b);
    }
}
public class HelloWorld {

    public static void main(String[] args) {
        int i = 19;
        double b = i;
        System.out.println(i);
        System.out.println(b);
    }
}

注:

  1. 数字之间可以用下划线分割,方便操作大数字。
  2. 操作比较大的数字的时候注意溢出问题。

运算符

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

这里与c差不多,由于本人学过c,所以对在此的运算符的意义不过多的阐述。

关于自加(减):++在前代表先运算再取值,在后反之。

拓展:

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

三目条件运算符

语法格式:x?y:z

符合x条件结果就为y,反之为z。

int score = 80;
int x = -100;
String type = score < 60 ? "不及格" : "及格";

位运算

在这里插入图片描述

public class Test {
  public static void main(String[] args) {
     int a = 60; /* 60 = 0011 1100 */ 
     int b = 13; /* 13 = 0000 1101 */
     int c = 0;
     c = a & b;       /* 12 = 0000 1100 */
     System.out.println("a & b = " + c );
 
     c = a | b;       /* 61 = 0011 1101 */
     System.out.println("a | b = " + c );
 
     c = a ^ b;       /* 49 = 0011 0001 */
     System.out.println("a ^ b = " + c );
 
     c = ~a;          /*-61 = 1100 0011 */
     System.out.println("~a = " + c );
 
     c = a << 2;     /* 240 = 1111 0000 */
     System.out.println("a << 2 = " + c );
 
     c = a >> 2;     /* 15 = 1111 */
     System.out.println("a >> 2  = " + c );
  
     c = a >>> 2;     /* 15 = 0000 1111 */
     System.out.println("a >>> 2 = " + c );
  }
} 

在这里插入图片描述

选择语句

java选择语句的语法结构和c差不多,所以直接本人不做过多的解释,会直接举一些例子。

if语句

public class HelloWorld {

    public static void main(String[] args) {
       int x = 10;
       if (x<20){
           System.out.println("条件成立");
       }
    }
}

结果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FiXe7Kl0-1642924475355)(C:\Users\de'l'l\AppData\Roaming\Typora\typora-user-images\image-20220120191022822.png)]

public class HelloWorld {

    public static void main(String[] args) {
      int x = 30;
      if (x < 20){
          System.out.println("这是if语句");
       }else{
          System.out.println("这是else语句");
      }
    }
}

结果:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-57px4peB-1642924475355)(C:\Users\de'l'l\AppData\Roaming\Typora\typora-user-images\image-20220120191249100.png)]

switch语句

switch语句中的变量类型可以是:

  • byte,short,int,char,还有字符串String类型
  • case标签必须为字符串常量或字面量

另外,在switch语句中,要善用break,不使用break,会造成case穿透现象,现象如下:

public class HelloWorld {

    public static void main(String[] args) {
        char grade = 'c';
        switch (grade) {
            case 'a':
                System.out.println("优秀");
                break;
            case 'b':
                System.out.println("良好");
                break;
            case 'c':
                System.out.println("及格");
            case 'd':
                System.out.println("再接再厉");
            case 'e':
                System.out.println("挂科");
            default:
                System.out.println("未知等级");
        }
    }
}

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

循环语句

while语句

public class HelloWorld {

    public static void main(String[] args) {
        int i = 0;
        int sum = 0;
        while (i<=100){
            sum = sum + i;
            i++;
        }
        System.out.println(sum);
    }
}

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

do…while

public class HelloWorld {

    public static void main(String[] args) {
        int a = 0;
        while (a<0){
            System.out.println(a);
            a++;
        }
        System.out.println("==========");
        do {
            System.out.println(a);
        }while (a<0);
    }
}

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

注:while循环是先判断后执行,可以不进行循环,但do…while是先执行后判断,所以do…while循环至少执行一次。

for

public class HelloWorld {

    public static void main(String[] args) {
        int a = 1;
        while (a<=100){
            System.out.println(a);
            a+=2;//迭代  a=a+2
        }
        System.out.println("while循环结束");
        for (int i=1;i<=100;i++){
            System.out.println(i);
        }
    }
}

for循环增强版

JDK5以后推出了for循环增强版

public class HelloWorld {

    public static void main(String[] args) {
       int[] numbers = {10,20,30,40,50};
       for (int x:numbers){
           System.out.println(x);
       }
    }
}

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

其实本质上就是遍历数组用的。因为还没有学习到数组,所以这里不做过多的笔记,等到学习数组后会再来补。

break和continue

break直接跳出循环,不会执行接下来的语句

continue是中止当前这一次循环,然后再继续执行接下来的语句(相当于跳过)。

方法

java中的方法,相当于一些编程语言之中的“函数”,所以在学习java方法这一知识点时,可以类比c中的函数。

在学习本节时,会涉及以下概念

  • 形式参数:在方法被调用时用于接收外界输入的数据。
  • 实参:调用方法时实际传给方法的数据。
  • 返回值
  • 返回值类型

设计方法的原则:保持方法的原子性,即一个方法只完成一个功能。

方法的定义:

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

方法的命名规则: 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。

java包机制

包相当于一个文件夹。

包的命名: 域名的倒置。

除了自己创建包,我们为了能够使用某一个包的成员,我们需要在java程序中明确导入该包,使用“import”语句即可完成。

javadoc生成文档

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

参数信息:

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况

这里有两种方法,一种是命令行(cmd),一种是在idea里生成。

命令行方式

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

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

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

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

输入javadoc -encoding UTF-8 -charset UTF-8 Doc.java命令,注意Doc.java是自己类的名字

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

在文件夹里就会出现这些html的文档

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

随便打开一个:

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

在idea中生成

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

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

举报

相关推荐

Java学习Day01,Markdown语法

springboot学习day01

Markdown学习 Day01

Java复习day01

2022/02/28学习java[DAY01]

day01

0 条评论