目标定位规划

  • 每天观看5集Java相关学习教程

day-01

  • 配置完了IDEA开发工具

    • 创建项目时需要勾选✔[从模板创建项目]否则需要自己配置环境
  • 熟悉的味道,HelloWorld!
  • 函数相关

    • Scanner用于获取用户输入内容
  • 字符串相关

    • 字符串之间用+来连接
  • 在使用println打印数字计算时,需要在数字运算外围用括号()引起来,否则将给你当作字符串处理

    • ❌错误示例:2+3,最终输出:2+3
    • ✔正确示例:(2+3),最终输出:5
    • Tips:貌似并不完全正确,需考虑优先级,day-02中详细记录优先级
    • 例如涉及优先级方面的代码示例
    public static void main(String[] args) {
            System.out.println(2+3+"=2+3="+(2+3));
            // 输出结果为:5=2+3=5
    }
  • 今天学习的函数

    • System.out.println(String)
    • 输出打印字符串

      • Scanner
    • 用户输入/获取用户输入字符串

day-02

  • Scanner函数相关拓展

    • .nextLine,一整行
    • .nextInt,整数
  • 变量命名格式

    • <类型> <变量名>

      • Tips:老规矩命名规范(🈲用保留字if、char……)
      • 例如:int aint a = 0
    • 也可以同时声明多个变量

      • 例如:int a=0,b=0,c=0int a,b,c 一下声明了3个变量,分别为abc
  • final常量

    • final int num = 100;
      ❌错误:num = 20; //你想要将num变量重新赋值为20,由100变为→20
    
    - 在这个变量前面加上final,这个变量则变为**常量**
  • 变量类型

    • double 浮点类型,无法完全精度计算,例如:1.2-1.1=0.9999……8,会小数值计算会丢失精度
  • 运算符优先级,优先级越靠前越先执行 {#优先级}

    • 优先级运算符含义先后顺序举例
      1+取正右→左a*+b=a*(+b)=a*b
      1-取负右→左a*-b=a*(-b)=a*-b
      2*乘法左→右a*b
      2/除法左→右a/b
      2%取余左→右6/4=1.2=2
      3+加法左→右a+b
      3-减法左→右a-b
      3+字符串连接符左→右“Hi” + "!" = “Hi!”
      4=赋值右→左a=0
  • 类型强制转换

    • (类型)(需要转换的内容)

      • 例如

        double a = 170.6; //此时的a为170.6
        (int)(a); //此时的a为170
        //!!注意!!WARNing!!
        a = (int)(a);
        //这样并不会将a的类型更改为Int型,此时如果打印a则输出的是170.0,因为将其转为了整数变为了170,但并因为你的赋值类型而改变原来的变量类型。它赋值后仍然是double型,所以是170.0

    day-03

  • 关系运算

    • ==、!=、>、>=、<、<=,单=是赋值
    • 关系运算优先级低于算术运算
  • if语句的用法

    • 常用的

      //①第一种
      if(/*判断条件*/){
          //执行代码……若干行;
      }else{
          //执行代码……若干行;
      }
      
      //②第二种
      if(/*判断条件*/){
          //执行代码……若干行;
      }else if{
          //执行代码……若干行;
      }
    • 非常用的 特殊用法

      if(/*判断条件*/)
          一行代码;
      else
          一行代码;
      //这个用法有点像python,但只能含带一行代码,注意结尾加分号,以及字段缩进
      //⚠不建议这么用,阅读代码非常费劲!!!
  • 好耶感觉今天的学习如此划水😜


    day-04

  • switch语句

    • switch(/*要判断的内容*/){
          case /*条件*/:
              //执行若干行代码……
              break;
          default:
              //都不符合条件下,执行这一个默认的
              break;
  • while语句(循环)

    • while(/*条件为真*/){
          //执行若干行代码……
          //只有条件为真时才会不断地重复执行里面的代码
  • do……while语句(循环)

    • do{
          //先执行后判断
  • for语句(循环/计数)

    • for(int i=0;i<10;i++){
          //执行若干行代码……
      }
      
      for(记录变量;条件;循环一次后执行){
          
  • Math.random

    • 生成一个随机浮点数

      • 例如:0.6351786319862468,比如你想要1-100之间的随机数,你则可以在这后面*100+1并将它转为int整数型来达到你想要的效果,为什么要+1呢,因为你很有可能生成一个99,所以要+1让他变成100

    day-05

  • 一些简化的用法

    • a=a+1 → a+=1
    • a=a*6 → a*=6
    • 小陷阱⚠

      • a*=b+6 → a=a*(b+b)
    • i++ → i=i+1(执行代码后+1)

      • 🌰例子:a=i++ → a=6 i=7
    • ++i → i=i+1 (执行代码前先+1)

      • 🌰例子:a=++i → a=7 i=7
  • breakcontinue区别

    • break是跳出整个循环

      • 拓展:如果遇到套了好多层的循环,可以在循环最前面一行给循环命名,然后用break [名称];来跳出整个多层循环

        • 🌰子

                  out:
                  for (int k = 2; k < num; k++) {
                      for (int b = 2; b < num; b++) {
                          for (int c = 2; c < num; c++) {
                              for (int d = 2; d < num; d++) {
                                  break out;
                              }
                          }
                      }
                  }
    • continue是跳到下一次循环中

      • 顶级理解:比如我要循环3次,在第2次中遇到了continue,那么第2次后面的就不管了,直接开始第3次循环
  • Boolean布尔类型

    • TrueFalse
    • ! 逻辑非

      • 比如你是!true,那么它实际上是false相当于取反
    • && 逻辑与

      • 且的意思,都满足才为true否则为false
    • || 逻辑或

      • 有一个满足就是true,全不满足为false

    day-06

  • printf

    • 格式:printf ( [格式] ,[内容] )

      • 例如:System.out.printf("%.2f", num);意思是输出精确到num的小数点后两位
  • 数组

    • 定义格式:

      • <类型>[] <名字> = new <类型>[成员数量]

        • 成员数量必须要是整数,且必须明确给出
    • 例如:

      int[] num = new int[100];
      //定义了一个数组变量,大小是100个成员数
  • 数组.length

    • 获取数组成员数量
  • 数组的一些规则

    • 下标从0开始……老一套那些不再赘述

    day-07

  • foreach

    • 与for循环的区别

              int[] data = {1, 2, 3, 4, 5};
              int loc = -1;
              boolean find = false;
              System.out.println("请输入你要找的数字:");
              int x = in.nextInt();
      //======================== for
              for (int i = 0; i < data.length; i++) {
                  if (data[i] == x) {
                      loc = i;
                      break;
                  }
              }
      //======================== foreach
              for (int k : data) { //格式:for([类型] <变量名> : {数组})
                  if (k == x) {         //意思是将data中的内容分别赋值给
                      find = true;      // k来进行比较
                      break;
                  }
              }
  • Math.sqrt

    • 计算平方根
  • 多维数组

    • 创建方式

      int[][] a = new int[3][5];//举个例子
    • 初始化多维数组

---

**第1周结束咯!!🤩**
最后修改:2025 年 01 月 12 日
如果觉得我的文章对你有用,请随意赞赏