• day01_java基础


    typora-root-url: assets
    typora-copy-images-to: assets
    

    day01_java核心基础

    今日目标

    • 计算机基本概念

    • java语言简介

    • JDK 和 JRE

    • Path环境变量配置

    • HelloWorld案例

    • 常用的开发工具

    • 注释

    • 关键字

    • 常量和变量

    • 标识符

    • 数据类型转换

    • ASCII码表

    • 运算符

    计算机基本概念

    计算机分为软件和硬件

    计算机硬件

    • cpu 处理器包括控制器和运算器

    • 存储器

    • 输入设备和输出设备

    计算机软件

    • 系统软件 —— 操作系统

    • 其他系统软件 —— 驱动、数据库

    • 应用软件 —— typora 、 notepad++

    语言介绍

    计算机语言

    • 人与计算机之间进行交流的载体。

    • 计算机语言分类

      • 机器语言

      • 汇编语言

      • 高级语言

        四类:C 语言、 C++、 JAVA C# 、面向问题的

    Java语言的简介

    平台的版本

    • J2SE: 标准版, 也是其他两个版本的基础. 在JDK1.5的时候正式更名为: JavaSE.

    • J2ME: 小型版, 一般用来研发嵌入式程序. 已经被Android替代了. 在JDK1.5的时候正式更名为: JavaME.

    • J2EE: 企业版, 一般开发企业级互联网程序. 在JDK1.5的时候正式更名为: JavaEE.

    特点

    • 开源免费

    • 跨平台

    • 多线程

    • 面向对象

    • 多态

    JDK 和 JRE

    • JDK JRE JVM 核心类库之间的关系

    image-20200930093152826

    • JDK 卸载

      去控制面板直接卸载就可以了.

      小技巧: windows徽标键 + 字母R -> control -> 然后敲回车, 这样可以直接打开控制面板.

    Path 环境变量的配置

    • JAVA_HOME value:安装的路径

    • path value: %JAVA_HOME%in %JAVA_HOME%jrein

    • 测试: 在 cmd 测试是否安装成功

      > java -version
      > javac -version
      # 输出对应的版本就说明安装成功。

    Helloworld的开发步骤(掌握)

    开发步骤

    1. 编辑

      public class HelloWorld{
      public static void main(String[] args){
      System.out.println("Hello World!");
      }
      }
    2. 编译

      javac HelloWorld.java
    3. 执行

      java HelloWorld

    案例需求:

    • 在编辑器中实现一个 helloworld。

    image-20200930095147916

    可能遇到的问题

    遇到的问题

    • 非法字符.

      注意: 我们使用的符号全部都是英文状态下的符号

    • 注意字母的大小写.

      注意: Java是严格区分大小写的. 也就是说: A和a不是一回事儿.

    • 文件后缀名的问题.

      千万不要出现 HelloWorld.java.txt 这种情况

    • 在编译或者运行时, 指令及文件名不要写错了.

    //编译的格式 javac HelloWorld.java //运行的格式 java HelloWorld

    常用的开发工具

    开发工具的分类

    • windows记事本

    • 高级记事本

    • 集成的开发工具

      • IDEA jetbrains,业内公认的开发工具

      • Eclipse

      • MyEclipse

    IDEA的下载和安装

    • 下载的地址

      JetBrains公司官网: www.jetbrains.com
      直接下载地址: www.jetbrains.com/idea/download/other.html
    • 安装

    • 创建项目和模块

      image-20200930104522282

    1. 创建模块

    image-20200930104707260

    1. 配置SDK 依赖和 sources 语言级别

    image-20200930105013256

    HelloWorld案例(IDEA版本)

    • IDEA界面的区域划分

    image-20200930105939942

    • 实现 helloworld 代码

      // 当前类所在的包路径
      package cn.itcast.javase.HelloWorld;

      /**
      * Author itcast
      * Date 2020/9/30 10:55
      * Desc TODO
      */
      // 当前类 类名 HelloWorld
      public class HelloWorld {
         // 当前的入口静态方法 main
         public static void main(String[] args){
             // 当前方法的中的实现
             // 打印输出 hello world 带换行
             System.out.println("hello world");
        }
      }

       

    模块的删除和导入

    • 打开 project structure 按钮

    image-20200930111004623

    • 删除模块

      image-20200930111041730

    • 导入模块

      image-20200930111150006

    基本配置和常用快捷键

    基本配置

    image-20200930111505477

    隐藏不需要的文件, 需要在界面的lgnore files and folders选项值后加.idea;.iml;out;即可.

    常用的快捷键

    image-20200930113922784

    注释

    • 单行注释

    • 多行注释

    • 文档注释

    案例

            // 单行注释  ctrl + /

           // 多行注释
           /*
           * author:itheima
           * date:2020-09-30
           * */

           //文档注释 javadoc
           /**
            *
            */

    关键字

    概念

    • 在java 中具备特殊含义的单词.

    常用的关键字

    • public: 公共的权限, 目前先了解即可.

    • class: 表示在创建一个类.

    • static: 表示静态的意思.

    • void: 表示方法的返回值类型.

    image-20200930142341123

    定义java源代码的格式

    工程project -> 模块 module -> 包 package -> 类 class -> 方法 method -> 关键字 变量和常量

    public class 类名 {
     public static void main(String[] args){
     
    }
       //其他方法
    }

    常量

    • 自定义常量(目前先了解, 在面向对象的时候, 才会详细解释)

    • 字面值常量

    解释: 根据字面意思就可以划分的常量.

    整数常量.

    例如: 1, 2, 3, 11, 22, 521

    小数常量.

    例如: 5.21, 13.14

    字符常量.

    解释: 字符的意思是说只能有一个值, 而且要用单引号括起来

    例如: 'A', 'B', 'c', '10'(这样写会报错, 因为10是由1和0两个值组成的)

    字符串常量.

    解释: 字符串常量值都要用双引号括起来

    例如: "abc", "传智播客", "黑马程序员", "大数据"

    布尔常量

    解释: 比较特殊, 值只有两个

    • true, 相当于正确

    • false, 相当于不正确

    空常量

    解释: 比较特殊, 值只有一个: null, 表示什么都没有.

    注意: 空常量不能通过输出语句直接打印.

    案例

    /**
     * Author itcast
     * Date 2020/9/30 14:38
     * Desc 常量的演示
     * 6 种类型
     */
    public class VariableDemo00 {
        // main 方法
        public static void main(String[] args) {
            //1.整数常量.
            // 例如: 1, 2, 3, 11, 22, 521
            final int a = 1;
            System.out.println(a);
            //2.小数常量.
            // 例如: 5.21, 13.14
            final float b = 5.21f;
            final double c = 13.14d;
            //3.字符常量. char类型是2个字节
            // 解释: 字符的意思是说只能有一个值, 而且要用单引号括起来
            // 例如: 'A', 'B', 'c', '10'(这样写会报错, 因为10是由1和0两个值组成的)
            final char d = 'A';
            final char e = '中';
            //4.字符串常量.
            // 解释: 字符串常量值都要用双引号括起来
            // 例如: "abc", "传智播客", "黑马程序员", "大数据"
            final String f="黑马程序员";
            //5.布尔常量
            // 解释: 比较特殊, 值只有两个
            //•true, 相当于正确
            //•false, 相当于不正确
            final boolean g = true;
            final boolean h = false;
            //6.空常量
            // 解释: 比较特殊, 值只有一个: null, 表示什么都没有.
            // 注意: 空常量不能通过输出语句直接打印.
            final String EMPTY = null;
        }
    }
    

    变量

    • 变量的使用

      –数据类型:变量变化的范围就是数据类型
      –变量名:每个变量都有一个名字,方便存取。
      –初始化值:使用变量前,需要给变量赋值。
      
    • 变量的定义格式

      数据类型 变量名 = 初始化值
      
    • 案例

      /**
       * Author itcast
       * Date 2020/9/30 14:55
       * Desc 定义或者初始化变量的值
       */
      public class VariableDemo01 {
          //定义变量, 记录班级的学生人数, 并将结果打印到控制台上.
          public static void main(String[] args) {
              //定义班级的人数
              int clsNum = 50;
              System.out.println(clsNum);
          }
      }
      

       

    • Java是一种强类型语言, 针对于每一个数据都给出了明确的数据类型.

      • 基础数据类型

        byte, short, char, int, long, float, double, boolean

      • 引用数据类型

        String 数组等.

    • 数据类型的分类

      image-20200930150133112

    记忆

    byte类型的取值范围是: -128 ~ 127,char类型的取值范围是: 0 ~ 65535

    默认的整形是: int类型, 默认的浮点型(即: 小数类型)是: double类型.

    定义long类型的数据时, 数据后边要加字母L(大小写均可), 建议加L

    定义float类型的数据时, 数据后边要加字母F(大小写均可), 建议加F

    定义double类型的数据时, 数据后边要加字母D(大小写均可), 建议加D

    • 变量使用的注意事项

      1. 变量未赋值,不能使用.

      2. 变量只在它所属的范围内有效.

      3. 一行上可以定义多个变量,但是不建议.

    案例:

    /**
     * Author itcast
     * Date 2020/9/30 15:07
     * Desc TODO
     */
    public class VariableDemo02 {
        //2. 定义main方法, 作为程序的主入口.
        public static void main(String[] args) {
            //3. 测试byte类型.
            //3.1 定义一个byte类型的变量, 变量名叫b, 初始化值为10.
            byte b = 127;
            //3.2 将变量b的值打印到控制台上.
            System.out.println(b);
    
            Byte b1 = 10;
    
            //4. 测试short类型.
            //4.1 定义一个short类型的变量, 变量名叫s, 初始化值为20.
            short s = 20;
            //4.2 将变量s的值打印到控制台上.
            System.out.println(s);
    
            Short s1 = 30;
    
            //5. 测试char类型.
            //5.1 定义一个char类型的变量, 变量名叫c, 初始化值为'A'.
            char c = 'A';
            //5.2 将变量c的值打印到控制台上.
            System.out.println(c);
    
            Character c1 = 'B';
    
            //6. 测试int类型
            int a = 10;
            System.out.println(a);
    
            Integer a1 = 20;
    
            //7. 测试long类型, 数据后记得加字母L.
            long lon = 100L;
            System.out.println(lon);
    
            Long lon2 = 200l;
    
            //8. 测试float类型, 数据后边加字母F.
            float f = 10.3F;
            System.out.println(f);
    
            Float f1 = 102.3f;
    
            //9. 测试double类型.
            double d = 5.21;
            System.out.println(d);
    
            Double d1 = 3.22d;
    
            //10. 测试boolean类型.
            boolean bb = true;
            System.out.println(bb);
    
            Boolean b2 = false;
    
            int x,y,z;
            int q;
        }
    }
    

    标志符

    • 规则

      1. 标识符只能包含52个英文字母(区分大小写)、0 ~ 9数字 、$(美元符号)和_(下划线)

      2. 标识符不能以数字开头

      3. 标识符不能和Java中的关键字重名

      4. 最好做到见名知意.

      例如: name表示姓名, age表示年龄.

    数据类型转换

    • 概念

      不同类型的数据之间可能会进行运算,而这些数据取值范围不同,存储方式不同,直接进行运算可能会造成数据损失,所以需要将一种类型转换成另外一种类型再进行运算。

    • 转换分类

      1. 隐式类型转换

        image-20200930170007458

      2. 显式类型转换

        强制将大类型转换成小类型.

    • 需求

      尝试把小数1.5赋值给int类型的变量a, 并打印结果.

      public class DataTypeDemo02 {
          public static void main(String[] args) {
              //1. 定义int类型的变量a.
              int a;
              //2. 尝试将1.5赋值给变量a.
              //这行代码会报错, 大范围的数据赋值给小范围的数据类型, 必须通过`强制转换`格式实现.
              //a = 1.5;
              a = 10;     //这样写没问题.
              //3. 打印结果.
              System.out.println(a);
          }
      }
      
    • int 类型 + short 类型的底层累加

     

    image-20200930162922362

    • 命名规范

      • 类, 接口的命名规范: 每个单词的首字母都大写, 其他字母全部小写.(大驼峰命名法)

        例如: HelloWorld, VariableDemo.

      • 变量, 方法的命名规范: 从第二个单词开始, 每个单词的首字母都大写, 其他字母全部小写(小驼峰命名法).

        例如: zhangSanAge, studentName

      • 常量(指的是: 自定义常量)的命名规范: 所有字母都大写, 单词之间用_(下划线)隔开.

        例如: MAXVALUE, MINVALUE, PI

        注意: 目前先了解即可, 面向对象部分详细解释.

      • 包的命名规范: 所有字母全部小写, 多级包之间用.(点符号)隔开, 一般是公司的域名反写.

        例如: cn.itcast, com.itheima

    ASCII码表

    编码表:就是将人类的文字和一个十进制数进行对应起来组成一张表格。 ‘a’ -> 97 char:0-65535

    存储字符时:需要查找ASCII码表,找到字符对应的数字,将数字转换为二进制数存放到计算机中

    使用字符时:将对应的二进制数转换为十进制 找到ASCII表中对应的字符 显示出来

    • 将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII码表.

    image-20200930165352774

     

    运算符

    概述

    • 运算符和表达式

    – 运算符:用来连接常量或者变量的符号, 就叫运算符.

    – 表达式:用运算符把常量或者变量连接起来符合java语法的式子就称之为表达式。

    • 不同运算符连接的表达式体现的是不同类型的表达式。

    例如:

    – +(加号) 是运算符,并且是算术运算符。

    – a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。

    分类

    • 算术运算符

    • 赋值运算符

    • 比较(关系)运算符

    • 逻辑运算符

    • 三元(三目)运算符

    算术运算符

    算数运算符包括:作用
    + 加法运算,字符串连接运算
    - 减法运算
    * 乘法运算
    / 除法运算
    % 取模运算,两个数字相除取余数
    ++ 自增运算符, 相当于自身 + 1
    -- 自减运算符, 相当于自身 - 1

    注意

    •Java中, 整数相除, 结果还是整数. 
    •+ 符号在字符串中的操作:
    – + 符号在遇到字符串的时候,表示连接、拼接的含义。
    – "a"+"b"的结果是“ab”,连接含义
    public static void main(String[] args){
     	System.out.println("5+5="+5+5);//输出5+5=55
    }
    

    自增自减运算符

    符号作用说明
    ++ 自增 变量的值加1
    -- 自减 变量的值减1

    解释: ++ 是变量自增加1, -- 相反 是变量减1.

    • 独立运算

      没有变化

    • 混合运算

      和其他变量放在一起, ++在前会先计算后赋值, ++在后会先赋值后计算

    • 独立运算:

    – 变量在独立运算时,前++和后++没有区别 。

    – 变量前++ :例如 ++i 。

    – 变量后++ :例如 i++ 。

    /**
     * Author itcast
     * Date 2020/9/30 16:32
     * Desc TODO
     */
    public class TypeTransform {
        private static final String USERNAME_NICK="zhangsan";
        public static void main(String[] args) {
            char c = ' ';
            int i = 0;
            int j = 0;
            int x=0;
            int y=0;
            //字符类型和int类型计算
            System.out.println(c+i);  //输出结果是???
            i++;
            System.out.println(i);
            // 先赋值再累加
            int d = x++;
            // 先累加再赋值
            int e = ++y;
            System.out.println(d);
            System.out.println(e);
        }
    }
    

    完毕.

  • 相关阅读:
    开发笔记 URL地址格式显示异常用pythonurllib库解决1 hello
    C#HTTP请求服务端客户端代码实现(转发)
    C# HttpClient 请求转发
    Nginx配置location详解
    ES6与JavaScript学习总结
    powershell和cmd区别
    Windows Server 2016离线安装.NET Framework 3.5
    C#通用代理http请求转发
    解决新版chrome浏览器SameSite属性cookie拦截问题
    ES6import后加花括号{}和不加花括号引用模块的区别
  • 原文地址:https://www.cnblogs.com/shan13936/p/13776131.html
Copyright © 2020-2023  润新知