Java基础

Java基础

编译型和解释型区别

  • 编译型:将源文件全部写完,然后统一编译。
  • 解释型:边执行,边解释。

Java二者都有具备,先编译再解释。

注释

注释:不会被计算机执行,提供给程序员,便于程序理解

  1. 单行注释

    public class Hello{
        public static void main(String[] agrs){
            System.out.println("Hello World!");
            //输出Hello World!
        }
    }
    
  2. 多行注释 /* 注释 */

    public class Hello{
        public static void main(String[] agrs){
            System.out.println("Hello World!");
            /*在这里
              能够实现
              打印Hello World!功能*/
        }
    }
    
  3. 文档注释 /** 注释 */

/**
 *文档注释
 * @Description  这段代码输出Hello World!
 * @Author Lerry
 */
public class Hello{
    public static void main(String[] agrs){
        System.out.println("Hello World!");
    }
}

标识符和关键字

关键字

起名字时不能用关键字

image-20220628083906905

标识符

标识符:类名,变量名,方法名都被称为是标识符

规范:1. 以字母,$,下划线开头

​ 2.标识符大小写敏感

​ 3.不建议使用中文命名

数据类型

  • Java是强类型语言,变量必须先定义后使用
  • 强类型语言安全性高,但速度慢

image-20220628085713136

扩展:

  1. 整数扩展:进制

    二进制0b 八进制0 十六进制0x

    int a1=0b10;  //a1=2;二进制表示法
    int a2=010;   //a2=8;八进制表示法
    int a3=10;    //a3=10;十进制表示法
    int a4=0x10;  //a4=16;十六进制表示法
    
  2. 浮点数扩展:浮点数不能比较是否相等,当涉及到大小比较的时候应该用大数 BigDecimal

    public class start {
        public  static  void  main(String[] agrs){
            float a1=12.23f;
            double a2=12.23;
            System.out.println(a1==a2);  //false  a1和a2并不相等
    
        }
    }
    
  3. 字符型扩展:

    public class start {
        public  static  void  main(String[] agrs){
            String a1=new String("H");
            String a2=new String("H");
            System.out.println(a1==a2);  //false 利用构造器构造了两个数值一样的对象
    
        }
    }
    
    
    • 强制类型转换

      public class start {
          public  static  void  main(String[] agrs){
              char a='a';
              char b='a';
              System.out.println((int)a);  //97 强制将char类型转化为int类型
              System.out.println(b);       //a
          }
      }
      
    • 转译 \t水平制表(到下一个tab位置) \n换行

  4. 布尔值扩展:

    if(a==true){}
    if(a){}
    //含义相同
    

类型转化

由低到高:

char,byte,short-->int-->long-->float-->double

强制类型转换

用高容量转为低容量 (转换类型)变量名

public class start {
    public  static  void  main(String[] agrs){
        char a='a';
        System.out.println((int)a); //97  强制转换
        System.out.println(a);      //a
        
        int x=10;
        System.out.println((double)x); //10.0 
        
        float m=1.03f;
        int n=1+(int)m;  //不强制转换会报错
        System.out.println(n);
    }
}

自然类型转换

有低容量转为高容量 不用加操作

public class start {
    public  static  void  main(String[] agrs){
        char s='a';
        int i=s+1;  //将s自然转换为int,然后+1
        System.out.println(i); //98
    }
}

在操作比较大的数时,考虑溢出

public class start {
    public  static  void  main(String[] agrs){
        int a=10_0000_0000;
        int b=20;
        long c=a*b;
        System.out.println(c);   //-1474836480  内存溢出
        //c=a*b,因为a,b均为int类型,所以进行乘法运算时已经溢出,后面的类型转换并不能解决问题
        System.out.println(a*((long)b));  //20000000000  
        //将其中一个数进行强制类型转换就可以解决这个问题
    }
}

变量,常量,作用域

  1. 变量:内存中的一块可以存储的空间 定义规范:变量类型 变量名 变量值;

  2. 常量:保持不变的值,是特殊的变量,常量名全部使用大写字母,用final修饰

  3. 作用域:起作用的范围

public class start {
    
    //实例变量:从属于对象,可以不设置初始化,使用时要先构建类对象,布尔值默认初始值为false
    static String name;
    
    //类变量:需要初始值,可以在方法中直接调用
    //修饰符顺序无所谓先后(static,final)
    static final double PI=3.14;
    
    public  static  void  main(String[] agrs){
       //局部变量,定义在方法之中,必须设置初始值,可以在方法中直接调用
        int a=10;  //作用域在该方法内部
        System.out.println(a);
        
        //实例变量使用
        start x=new start();
        Syste.out.println(x.name);
        
        //类变量使用
        System.out.println(PI);
    }
}

注意:

  1. 变量命名采用首字母小写和驼峰原则:nameSalary
  2. 常量命名全为大写,若太长可在中间加下划线:MAX_SIZE
  3. 方法名命名也遵循首字母小写和驼峰原则
  4. 类名命名遵循首字母大写和驼峰原则

基本运算符

  • 算数运算符:+ ,- ,*, / ,%, ++(自增) ,--(自减)

  • 赋值运算符: =

  • 关系运算符:>, < ,>=, <=,==,!=,instanceof

  • 逻辑运算符:&&,||,!

  • 位运算符:&,|,^,>>,<<,

  • 条件运算符:x?a :b

  • 扩展赋值运算符:+=,-=,/=,*=

包机制

  1. 包名:公司域名的倒置

    例如:www.baidu.com的包名应设置为com.baidu.www

  2. 导入包:import 包名

  3. 使用包:package 包名

package comm;   //将start类放在comm包里
import java.util.*;   //导入java.util包里所有类
public class start {
    
    }
}

注意:package必须在代码的最上面

JavaDoc文档

package comm;

import java.util.Scanner;

/**
 * @author lerry
 * @version 1.0
 * @since  15  //jdk版本
 */
public class Title {
    /**
     * @return //返回值
     * @param args   //传入参数
     * @throws Exception  //抛出异常
     */
    public static void main(String[] args) throws Exception {
        // write your code here
        // read data from console

cmd中执行格式:javadoc 参数设置 Java文件

\src\comm>javadoc -encoding UTF-8 -charset UTF-8 title.java

在IDEA中生成javadoc文档:

在Tools中选中Generate JavaDoc,填写相关信息即可

Output directory:API生成后的位置

command line argument: 其他命令行实参,设置字符编码,防止出现中文乱码报错

image-20220628111945205

posted @ 2022-06-28 11:22  lerry1342  阅读(44)  评论(0)    收藏  举报