Java基础

JAva SE 复习

Java的优点

面向对象,跨平台(jvm),分布式,安全,多态性,简单,鲁棒

Java运行的环境

jdk(JVM+Java系统类库)>jre(Java Runtime Environment)>jvm(Java Virtual Machine)

Java的运行机制

运行机制

  • .java
  • Java编译器
  • .class
  • 类装载器->字节校验器->解释器->操作系统平台(运行了)

举例:(在jdk的环境下运行)

  1. 建立HelloWord.java
  2. 然后(文档路径写入cmd)cmd命令
  3. (命令)Javac Helloworld.Java(编译生成.class)
  4. (命令) Java helloword(运行.class)
  5. 即可输出hello world

编译和解释:

编译型 (c)解释型(Python,HTML)
Java先编译为.class 在解释

IDEA的工具和使用

根据网上教程使用,略

注释的使用

注释用法

单行注释://      idea 的快捷键为 ctrl+/
多行注释: /*  */    idea 的快捷键为 ctrl+shift+/
java doc文档注释 /**  */    /*** +enter

有趣的注释

/***
 * ░░░░░░░░░░░░░░░░░░░░░░░░▄░░
 * ░░░░░░░░░▐█░░░░░░░░░░░▄▀▒▌░
 * ░░░░░░░░▐▀▒█░░░░░░░░▄▀▒▒▒▐
 * ░░░░░░░▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐
 * ░░░░░▄▄▀▒░▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐
 * ░░░▄▀▒▒▒░░░▒▒▒░░░▒▒▒▀██▀▒▌
 * ░░▐▒▒▒▄▄▒▒▒▒░░░▒▒▒▒▒▒▒▀▄▒▒
 * ░░▌░░▌█▀▒▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐
 * ░▐░░░▒▒▒▒▒▒▒▒▌██▀▒▒░░░▒▒▒▀▄
 * ░▌░▒▄██▄▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒
 * ▀▒▀▐▄█▄█▌▄░▀▒▒░░░░░░░░░░▒▒▒
 * 永无bug
 */

关键字和标识符

标识符:字母下滑线,$, _开始

基本数据类型

类型图

相关知识点

public class primativeKindFar {
    public static void main(String[] args) {
        //进制 二进制 0b 十进制 八进制0  十六进制0x
        int a=0b10; //输出十进制 2
        int b=10;   //10
        int c=010; //8
        int d=0x10; //16
        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println("****************************");
        //float 和double 区别
        float f=0.1f;
        double d1=1.0/10;
        System.out.println(f==d1);// f==d1  为false
        float f1=154545124244f;
        float f2=f1+1;
        System.out.println(f1==f2);// f1==f2  为true
        System.out.println("f1==f2");// f1==f2  为true
        //转义字符  \t  \n
        /***
         * ==:如果比较的对象是基本数据类型,则比较的是数
         * 值是否一致;如果比较的是引用数据类型,则比较的
         * 是对象的地址值是否一致。
         */
        String sa="nihao";
        String sb="nihao";
        System.out.println(sa==sb);//sa==sb 为true
        System.out.println(sa.equals(sb));//sa==sb 为true
        String sc=new String("nihao");
        String sd=new String("nihao");
        System.out.println(sc==sd);//sc==sd 为false
        System.out.println(sc.equals(sd));//sc==sd 为false
        /**
         * 补充
         * 1、equals():equals是Object中的方法,在Object中equals方法实际
         * "ruturn (this==obj)",用到的还是"==",说明如果对象不重写equals方法,
         * 实际该对象的equals和"=="作用是一样的,都是比较的地址值(因为"=="比较的就
         * 是地址值),但是大部分类都会重写父类的equals方法,用来检测两个对象是否相等,
         * 即两个对象的内容是否相等,例如String就重写了equals方法,用来比较两个字符串内容是否相同。
         *
         * 2、==:用于比较引用和比较基本数据类型时具有不同的功能,比较引用数据类型时,如果该对象没有
         * 重写equals方法,则比较的是地址值,如果重写了,就按重写的规则来比较两个对象;基本数据类型
         * 只能用"=="比较两个值是否相同,不能用equals(因为基本数据类型不是类,不存在方法)
         * 
         */
        //类型转换
        /**
         * 低~******************************高
         * byte,short,char->int->long->float->double
         * 强制转换  (类型名)变量名   高---低
         * 自动转换    低--高
         * eg:byte i=29;
         *     int g=i; 低到高
         *     byte j=(int)g; 低到高
         */
        /***
         * boolean
         * boolean a=1;
         * if(a)  等价于  if(a==1)
         */

    }
}

变量和变量作用域

变量格式

type varName [=value] [{,,}]
//数据类型 变量名 =值; 或者数组大括号逗号隔开

变量作用域

public class value {
    //初始化的值   0  0.0   null  false  char字符为空
    //实例变量,不能在局部变量调用 使用的话必须加修饰符 private public final static
    String str1="b";//不能直接使用
    final  int C=3;//只有一个final, 不能在局部变量使用,需要加其他修饰符有
    static int A;//类变量  加了static 关键词
    static int B=1;//类变量  加了static 关键词
    private static int str;
    private static int b;
    static final int b1=1;
    final static int b2=2;
    public static void main(String[] args) {
        int a=0;//局部变量
        System.out.println(str);//
        System.out.println(b);//
        System.out.println(b1);//
        System.out.println(b2);//
        System.out.println(A);//
        System.out.println(B);//
    }
}

运算符

算术运算符: + - * / % ++ -- 
赋值运算符: =
关系运算符: > < >= <= == != instanceof
逻辑运算符: &&  ||  !   且 或 非
条件运算符: ? :
扩展运算符: -=  +=
instanceof 是 Java 的保留关键字,它的作用是测试它左边的对象
是否是它右边的类的实例,返回 boolean 的数据类型
posted @ 2022-04-13 14:10  kk-ss  阅读(78)  评论(0)    收藏  举报