查看: 70|回复: 0

黑马程序员Java基础课笔记①

[复制链接]

1

主题

2

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2023-7-15 20:38:04 | 显示全部楼层 |阅读模式
2023-01-30

人机交互方式-DOS 命令


  • 图形化界面操作的弊端

    • 消耗内存
    • 运行速度慢



  • DOS 命令

    • 盘符切换 D: ​回车
    • 查看目录内容 dir​
    • 进入文件夹 cd name​

      • 路径用 \​





    • 回退操作 cd..​
    • 清屏 cls​
    • 退出 exit​
      Path 环境变量



  • 使用命令行启动软件

  • 进入对应的环境
  • 输入对应的名称:xxx.exe ​或 xxx​


  • 查看可执行文件








    • 运行优先级:上方所示顺序



  • 配置 Path 环境变量

    • 记录很多软件的完整变量,当要运行某个程序,而不告知程序所在完整路径时,系统除了在本目录下寻找,还会在 Path 环境变量下寻找
    • 可以把平时开发所用的软件路径,都扔到 Path 环境变量中,方便在各种位置打开采用软件
      Java 介绍及环境变量








  • JavaSE:Java 基础版,桌面应用开发

    • 桌面应用:用户只需要打开程序,就能在最短实际内找到所需功能
    • 为 JavaEE 开发打基础



  • JavaME:Java 小型版,用于嵌入式开发

    • 退出历史舞台



  • JavaEE:Java 企业版,用于 Web 网站服务器开发

    • 网站:网页 + 后台服务器(前后端)
      跨平台性



  • Java 可以在任意操作系统上运行

    • JVM 虚拟机:是一种软件

      • 不同系统有不同的 JVM





    • 允许跨平台的是 Java 程序,而非 JVM 虚拟机
      环境搭建



  • 关于 JDK:Java Devolopment Kit








    • 没有标注 LTS(长期支持版)的都是过渡版本

      • Java8 是最稳定的,市面上用的最多
      • Java11 再逐渐过度
      • Java17 新特性





  • 卸载 Java

    • 直接去软件卸载那点击即可



  • JDK 组成

    • JVM(Java Virtual Machine):Java 虚拟机,真正运行 Java 程序的地方
    • 核心类库:Java 自带的程序,供调用
    • JRE(Java Runtime Environment):Java 运行环境



  • JAVA_HOME

    • 新版本 JDK 会自动配置 JAVA_HOME



















      • 但它默认配置工具太少了,删除它





    • 配置 JAVA_HOME



















      • Path 环境中,用 %% ​表示引用,由于常用软件在 bin ​下,所以需要设置 \bin​




  ‍
Java 程序步骤


  • 编写代码 xxx.java​ 源文件

    • 记事本写好源码

      • 注意,文件名 xxx.java ​要和代码中最外层的 public class xxx ​对应,否则会报错
      • public class hello{
            public static void main(String[] args){
                System.out.println("hello world");
            }
        }




    • ​javac.exe ​编译工具

      • 命令行进入 jdk\bin​,输入 javac Path\xxx.java ​可实现编译
      • 生成 xxx.class​





  • 编译代码(编译器) xxx.class​ 字节码文件

    • ​java.exe ​运行工具

      • 还是在 jdk\bin​,输入 java Path\xxx.java​
      • 啊这,可以直接使用 java ​运行 xxx.java​

        • 从 JDK11 开始的特性,可以直接运行
        • 但不常用,因为实际开发还是需要使用 .class ​打包部署





      • 正常是应该 java Path\xxx​,不用加 .class
      • 但我运行报错"找不到或无法加载主类"





  • JVM 运行 xxx.class​
Hello 讲解


  • public class hello{
        public static void main(String[] args){
            System.out.println("hello world");
        }
    }
  • ​class ​类:通常情况,类名称和文件名相同
  • ​main ​方法:程序入口 public static void main(String[] args){}​
  • ​; ​分号:代码结尾
  • 输出语句:System.sout.println(string)​
  • ​public ​权限修饰符:如果在 class ​前添加 public​,其约束类名必须与文件名相同
    IDEA 的第一行代码
  • IDEA 项目结构:project, module, package, class; 为了更好管理类文件








    • project

      • module_1

        • package

          • class1
          • ...









        • ...







      • module_2





    • 步骤



  • 创建空的项目
  • 在项目下创建模块
  • ​src ​文件夹下创建新的内容
  • package 包



  • ​psvm​=public static void main(String[] args){}​ ​快捷​
  • ​sout​=System.out.println()​ 快捷​
  • IDEA 会自动编译,我们只需要运行即可
    IDEA 运行细节和基本设置
  • 有多种运行方式








    • 左下角和右上角的运行都是运行上一次的运行的代码,代码做出修改仍然运行修改前的代码



  • 主题,字体
    IDEA 中对类,模块,项目的操作


    • 新建
    • 删除:要甚至,删除会直接清楚
    • 修改名字:注意 public​



  • 模块

    • 新建

      • 文件(File) -> 项目机构 -> 模块新建









      • 注意要点确定





    • 移除 remove

      • 只是零时的删除,仍让在硬盘中存在(原来位置)





    • 可以将 module 文件导入 IDEA
    • 重命名










      • 选择同时修改 模块和目录​





  • 项目

    • 关闭项目:文件(File) -> 关闭项目
    • remove 项目,零时删除,同上
      注释



  • ​//​ 单行注释
  • ​/* */​ 多行注释
  • ​/** */​ 文档注释
    关键字,字面量
  • 关键字:被 Java 赋予特殊含义的英文单词

    • 不允许用户使用







  • 字面量:数据在程序中的书写格式






Debug


  • 可以用于查看程序和执行流程,可以用于流程追踪
  • 断点批量管理











  • 断点间跳转








  • 会直接跳转到下一断点
  ‍
变量


  • 介绍:内存中的存储空间,空间中存储着经常变化的数据(变量是一片内存存储空间)
  • ​数据类型 变量名 = 数据值​

    • 数据类型

      • ​int​ 整型
      • ​double​ 浮点型





  • 注意事项

  • 变量名不可重复
  • 一条语句可以定义多个变量,中间逗号分割


  • ​int a = 1,b=2,c=3;​

  • 变量使用前必须完成赋值
  • 变量作用域问题


  • 注释中写 TODO: ​就可以标记,在下边栏找到
    标识符
  • 给类,方法,变量等期末的符号
  • 规则

    • 数字,字母,下划线,$
    • 不能数字开头,关键字
    • 严格区分大小写



  • 小驼峰命名法

    • 所有字母小写
    • 多个单词,第二个单词开始,首字母大写
    • 给变量取名



  • 大驼峰命名法

    • 首字母大写
    • 多个单词,单个单词首字母大写
    • 给类取名



  • 简明知意
    数据类型
  • 基本数据类型

    • (1 字节=8 位)
    • 整数

      • byte

        • -128~127
        • 内存占用(字节):1







      • short

        • -32768~32767
        • 内存占用(字节):2







      • int

        • -2147483648~2147483647 (10 位数)
        • 内存占用(字节):4







      • long:long a = 213L​

        • 内存占用(字节):8(19 位数)







    • 浮点数

      • double(首选)

        • 内存占用(字节):8







      • float:float a = 123F ​需要加 F ​标识

        • 内存占用(字节):4







    • 字符

      • char

        • 内存占用(字节):2







    • 布尔

      • boolean

        • 内存占用(字节):1
        • true
        • false






  • ASCII 表
    Scanner 键盘录入
  • 导包 -> 创建对象 -> 调用对象当中的方法

    • import java.util.Scanner;

      public class Scan_learn {
          public static void main(String[] args) {
              Scanner sc = new Scanner(http://System.in);
              int result = sc.nextInt();
              System.out.println(result);
          }
      }



  • 导包

    • ​import java.util.Scanner; ​注意别漏了分号

      • 导入 java ​文件夹下 util ​文件夹下的 Scanner ​文件





    • ​​



​​


    • ​src.zip ​装着 Java 的源代码



  • 创建对象

    • Scanner sc = new Scanner(http://System.in);



  • 字面量 Scanner ​命名 sc​,new ​一个对象,http://System.in ​标准输入. 注意分号
  • 定义的 Scanner ​对象可以多次调用





  • ​Scanner ​实例化对象 sc ​调用输入 nextInt()​,返回键盘输入的内容,需要定义对应的变量赋值

    • 接受小数 .nextDouble()​
    • 接受布尔 .nextBoolean()​
    • 接受字符串 .next()​
      类型转换









    • 虽然 float​​4 个字节,但取值范围不 8​​字节的 long​​更大,因为 小数的二进制存储形式,更省空间​​



  • 隐式转换

    • 取值范围小的数据/变量赋值给取值范围大的变量(考虑其字节数)










      • 将 a​​的值复制,转给 b​​,自身不变化





    • 小范围与大范围计算,小范围会转换为大范围,再计算(数据类型不统一没办法进行运算)

      • ​byte,short,char​​运算时(无论是否相同类型,都会转化),都会提升为 int​​










  • 强制转换

    • 大转小,砍掉大类型多的字节内容


























      • 转换的时候是利用补码进行的,先将待转换数转换为补码,然后在砍掉多的字节,得到结果为补码,将其恢复为原码,采用 8421​BCD 码进行编码
          ‍
        二进制原码转码补码










  • 补码

    • 正数:同原码
    • 负数:除符号位(最高位)不变,其他翻转,后最低位加一



  • [-5]原 = 1101->1010->1011 = [-5]补
  ‍
  ‍
  ‍
  ‍
运算符








    • 整数相除,结果只能得到整数.结果腰带小数点,必须有小数参与计算



  • 自顶向下思考问题 编程思想​​







​​
字符串拼接

  • 使用 + ​进行

    • ​+ ​前后有字符串出现,就会进行字符串拼接






  ‍
  ‍
  ‍
  ‍
  ‍
  ‍
  ‍
  ‍
  ‍
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表