基础语法

1:@SuppressWarnings("unused") //告诉编译器 不使用创建的变量也不会报错
2:static void main 之后要加个{}main方法是程序的主线程
3:基本数据类型 primitive type :常用的数字,字符串,字符等
4:引用类型 reference type:类,接口,数组
5:一般String类型均需要用""双引号,而char类型需要用''单引号圈起
6:数字类型所占二进制数:int:32;double:64;float:32;short:16;char:16;long:64;boolean:8;byte:8
7:转换从低级到高级(根据容量来看: byte,short,char—> int —> long—> float —> double
高级向低级转换有可能会精度降低或溢出。>强制类型转换
低级向高级转换
>自动转换
8:int操作较大数时要留意是否溢出,溢出的话就要转化为更高级的类型,不然输出的会是负数
9:变量有:类变量(static 定义),实例变量(方法外部、类的内部定义的变量),局部变量(在使用前必须先声明和初始化(赋初值)。)
10:常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。且命名开头常用大写字母
11:运算符
一元运算符:+-*除% java中的^为异或符号
二元运算符:++ --
逻辑运算符:逻辑与:&&和&,逻辑或:||和|,逻辑非:!<==短路逻辑
位运算符:&,^,>>,<<,|,~取反
三目条件运算符:x ? y : z
x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整
个运算结果为表达式z的值。

12:一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问 保护和命名空间管理的功能。
如:建了一个叫做animals的包。通常使用小写的字母来命名避免与类、接口名字的冲突
package animals;

interface Animal {//animals 包中加入一个接口(interface)
public void eat();
public void travel();
}
import 导入包
java 源文件中 import 语句应位于 package 语句之后,所有类的定义之前,可以没有,也可以有多条
import package1

public class baseI {
    @SuppressWarnings("unused") //告诉编译器 不使用创建的变量也不会报错
    public static void main(String[] args){ // static void main 之后要加个{}
    // main方法是程序的主线程
    System.out.println("hello world");
    //基本数据类型 primitive type 引用类型 reference type:类,接口,数组
    System.out.println("基本类型:byte 二进制数:"+ Byte.SIZE); //8位二进制
    System.out.println("基本类型:byte 最大值:"+ Byte.MAX_VALUE);//127
    System.out.println("基本类型:byte 最大值:"+ Byte.MAX_VALUE);
    System.out.println("Byte的包装类是 java,lang.Byte,他的最小值是Byte.MIN_VALUE:"+ Byte.MIN_VALUE); //-128
    System.out.println("");
    // short
    System.out.println("基本类型:short 二进制数:"+Short.SIZE); //这里的short中的S大写16位二进制
    // 8位二进制等于1个字节
    System.out.println("基本类型:int 二进制位数:" + Integer.SIZE); //32位二进制
    System.out.println("基本类型:double 二进制位数:" + Double.SIZE); //64位二进制
    System.out.println("基本类型:float 二进制位数:" + Float.SIZE);//32位二进制
    System.out.println("基本类型:long 二进制位数:" + Long.SIZE);//64位二进制
    System.out.println("基本类型:char 二进制位数:" + Character.SIZE);//16位二进制
    System.out.println();
    // 整形
    int i1 = 100;
    int i=10;
    int i2=010; //八进制以0开头
    int i4=0x10; // 16进制以0x开头
    // 短整型
    //定义的变量在代码中并未使用且无法访问
    short i3 =235; //这里不调用他 它就会报错 The value of the local variable i3 is not used
    // 浮点型
    /* 浮点数总结
1.默认是double
2. 浮点数存在舍入误差,很多数字不能精确表示。如果需要进行不产生舍入误差的精确数字计算,需
要使用BigDecimal类。
3. 避免比较中使用浮点数

boolean类型有两个值,true和false,不可以 0 或非 0 的整数替代 true 和 false
 */
    double d1 = 3.5; // 双精度
    double d2 = 3;
    // float(3.5) python 的习惯 方法包着参数
    // 但java想把参数包着方法,但位置顺序不变
    float f1 = (float)3.5; //单精度
    float f2 = 3.5f; // 单精度
    System.out.println("打印int型");
    System.out.println(i); //10
    System.out.println(i2); //8
    System.out.println(i3); //235
    System.out.println(i4); //16
    System.out.println("打印double型");
    System.out.println(d1); //3.5
    System.out.println(d2); //3.0
    System.out.println("打印float型");
    System.out.println(f1); //3.5
    System.out.println(f2); //3.5

    //布尔类型 boolean true真 / false假
    boolean ispass = true;//boolean是一个字节,也就是8位二进制
    boolean isOk = false;
    boolean isBIg = 5>8;
    if(ispass){
        System.out.println("通过了");//它if一个语句都要用{}括着,else也要用{}括着
    }
    else{
        System.out.println("未通过");
    //单字符
    char f = '女'; //"女"char类型需要用''圈起
    char m = '男'; // char是2个字节 也就是16位2进制

    }
    //转换从低级到高级(根据容量来看)
    // byte,short,char—> int —> long—> float —> double
    //容量小的数据类型可以自动转换为容量大的数据类型。
    /*short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为
32,可以自动转换为64位的double类型。
 */

 //在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。==>强制类型转换

    double x = 3.14;
    int nx = (int)x; //值为3
    char c = 'a';
    int d = c+1;
    System.out.println(d); //98
    System.out.println((char)d); //b
    
    // 操作较大数时要留意是否溢出
    int money = 1000000000; //10亿
    int years = 20;
    int total = money*years; //返回的是负数
    long total1 = money*years; //返回的仍然是负数。默认是int,因此结果会转成
    // int值,再转成long。但是已经发生了数据丢失
    long total2 = money*((long)years); //先将一个因子变成long,整个表达式发
    // 生提升。全部用long来计算。
    System.out.println(total);
    System.out.println(total1);
    System.out.println(total2);


    //变量名
    /*类变量(静态变量: static variable):独立于方法之外的变量,用 static 修饰。
    实例变量(成员变量:member variable):独立于方法之外的变量,不过没有 static 修饰。
    局部变量(lacal variable):类的方法中的变量 */
    // static int allClicks=0; // 类变量 static定义了main 就不能定义其他类变量了么
    //使用static定义。
// 从属于类,生命周期伴随类始终,从类加载到卸载

    String str="hello world"; // 实例变量
    /*方法外部、类的内部定义的变量。
    从属于对象,生命周期伴随对象始终。
    如果不自行初始化,他会自动初始化成该类型的默认初始值
    (数值型变量初始化成0或0.0,字符型变量的初始化值是16位的0,布尔型默认是false)
 */
    // public void method(){
    // int i =0; // 局部变量 在使用前必须先声明和初始化(赋初值)。
    //  }       
    
    //常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
    // 命名一般用大写字符
    // final 常量名=值;
    final double PI=3.14; final String LOVE="hello";

    /*运算符:
    一元运算符:+-*除% java中的^为异或符号
    二元运算符:++ -- 
    逻辑运算符:逻辑与:&&和&,逻辑或:||和|,逻辑非:!<==短路逻辑
    位运算符:&,^,>>,<<,|,~取反
    三目条件运算符:x ? y : z
x为boolean类型表达式,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整
个运算结果为表达式z的值。
    */
    int score = 80;
    String type = score < 60 ? "不及格" : "及格";
    System.out.println("type= " + type);


    //包机制
    //一个包(package)可以定义为一组相互联系的类型(类、接口、枚举和注释),为这些类型提供访问
// 保护和命名空间管理的功能。

}

    
}


posted @ 2021-07-30 15:04  索匣  阅读(48)  评论(0编辑  收藏  举报