类型转换,变量,运算符,包机制

类型转换

类型转换级别

低--------------------------------------------------------------------->高

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

ps:运算中,不同类型的要先转化为同一类型再进行计算

强制类型转换:由高类型转化为低类型时,比如:int a=10;(short)a//将a转化为int型

自由类型转换:由低类型转化为高类型时

注意点

  • 不能对布尔值进行转换

  • 把高容量的转换为低容量的要进行强制类型转换

  • 转换的时候可能存在内存溢出问题或者精度问题

操作比较大的数是时,注意溢出问题,JDK7新特性,数字之间可以用下划线分割

public class abc {
   public static void main(String[] args) {
       int money = 10_0000_0000;
       int year = 20;
       long total = money*year;//这样转换无效,在转换前已经进行计算,并且内存溢出
       long total1 = (long)money*year;//这样转换才有效,计算前先把一个数转换为long类型
       System.out.println(total);
       System.out.println(total1);
  }
}
answer:-1474836480
20000000000

变量作用域问题

  • 类变量:前缀为static,可以在主方法内直接使用

  • 实例变量:从属于对象,如果不自行初始化,这个类型的默认值为0,布尔型默认为false,除基本类型,其余默认值为null,实例变量要引用,例如类名为Deom,则Deom deom =new Deom()

    public class Demo {
       private static Demo demo;
       int age = 10;

       public static void main(String[] args) {
           demo = new Demo();//输入new Demo()后,利用快捷键ctrl+alt+f
           System.out.println(demo.age);

      }
    }

     

  • 局部变量:必须声明和初始化值

  • 常量:前缀为final

变量的命名规范

  • 类成员变量:首字母小写和驼峰原则

  • 类名:首字母大写和驼峰原则:除第一个单词外,后面单词首字母大写

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 方法名:首字母小写和驼峰原则runRun()

运算符

  • a++:先赋值再加:a=5,b=a++;此时结果为b=5,a=6

  • ++a,先加再赋值:a=5,b=++a;此时结果为b=6,a=6

  • 幂函数,2^3,在Java中表示为:double power = Math.pow(2 ,3)

  • 逻辑运算符 //与 ||或 !非

    public class Demo {
       public static void main(String[] args) {
           boolean a = true;
           boolean b = false;
           int c = 10;
           int d = 20;
           System.out.println("a && b: "+(a&&b));//""+为字符串连接符
           System.out.println("a || b: "+(a||b));
           System.out.println("!(a && b): "+!(a&&b));
           System.out.println(""+a+b);//结果为1020
           System.out.println(a+b+"");//结果为30
      }
    }
  • 短路运算,当判断与运算的两个条件时,如果第一个为假,则直接输出false

  • 位运算

    A=0011 1100;
    B=0000 1101
    A&B=0000 1100
    A|B=0011 1101
    A^B=0011 0001
    ~B=1111 0010
  • 条件运算符?:

    int score = 50;
    string type = score < 60 ?"不及格""及格"

包机制

相当于文件夹:导入包下的所有类:import com.liu.base.*;

JAVADoc

从cmd中输出命令:javadoc -encoding UTF-8 -charset UTF-8 Doc.java

原文地址:https://www.cnblogs.com/Liu-Z/p/13677168.html