JAVASE

javase

 

java的基础数据类型

java是强类型语言:所有变量必须先定义后转换。安全性上升,速度下降

弱类型语言:JS

java 的数据类型

基本数据类型和引用类型

  1. byte 1B -128-127

  2. short 2B -32768-32767

  3. int 4B -2147483648-2147483647

  4. long 8B

  5. 浮点型:Float

  6. 双精度浮点型:double

  7. 字符型char: 2B

boolean类型:占一位其值只有true和false两种

String是一个类,不是关键字。

位:计算机内部数据储存的最小单位,

字节(byte):计算机数据处理的基本单位,习惯上用B表示

1B(字节) = 8bit(位)

类型转换

由低到高

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

 public class ChangeType {
    public static void main(String[] args) {
        int i = 128;
        double a = i;//内存溢出
        //强制转换 (类型)变量名 高-低
        //自动转换 低-高
        System.out.println(i);
        System.out.println(a);
        /*注意点
        不能对布尔值进行转换
        不能把变量类型转换为不相干的类型,
        在把高容量转换为低容量的时候,强制转换。
        转换的时候可能存在内存溢出和小数问题
 
          */
        System.out.println((int)23.8);
        System.out.println((int)-89.78f);
        char c = 'a';
        int d = c + 1;
        //char的级别高于int
        System.out.println(d);
        System.out.println((char)d);
    }
 }
 public class demon06 {
    public static void main(String[] args) {
        //操作比较大的数时,要注意溢出问题
        //JDK7新特性,数字之间可以用下划线区分
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;
        System.out.println(total);//-1474836480,计算的时候溢出了
        long total2 = money*years;//结果任然是错误的,因为在转换之前就已经存在问题了
        long total3 = (money*(long)years);//在转换之前就改正了种类和值的大小关系
        System.out.println(total2);
        System.out.println(total3);
        //L都用大写字母,养成好的代码习惯。
    }
 }

变量

变量

  • 通过变量来操作内存

  • java是一种强类型语言,每个变量都必须声明其类型

  • java变量是程序汇总最基本的单元,其要素包括变量名,变量类型和作用域

注意事项

每个变量都有类型,类型可以是基本类型,也可以是引用类型

变量名必须是合法的标识符

变量名是一条完整的语句,因此每一个声明都必须以分号结束

不建议一行中定义多个值。提高程序的可读性。

变量的作用域

  1. 类变量

  2. 实例变量

局部变量

 public class Demon08 {
 
    //类变量,从属于类。
    static double salary = 2500;
    //实例变量:从属于对象:如果不自行初始化,这个类型的默认值
    //所有的数值类型,输出的一般都是0或者0.0
    //布尔值默认是false
    //除了基本类型,其余的默认值都是NULL
    //属性:变量
    //实例变量;方法的外面,类的里面,从属于对象的。
    String name;
    int age;
 
    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i = 10 ;
        System.out.println(i);
        //变量类型 变量名字 = new Demon08;
        Demon08 demon08 = new Demon08();//先输入 new Demon08,然后按alter+Enter,自定义的
        System.out.println(demon08.age);
        System.out.println(demon08.name);
        System.out.println(salary);
        //类变量 static
 
    }
    public void add(){
        System.out.println();
    }
 }

变量命名规范

所有方法,类名,变量,见名知意

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

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

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

类名:首字母大写和驼峰原则

方法名:首字母小写和驼峰原则

常量

 public class Demon09 {
    //final:常量
    //修饰符不存在前后顺序
    //常量一般用大写字母,常量
    final static double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
 
 }

运算符

  1. != :不等于; != instanceof

  2. 逻辑运算符:&& ,|| , ! 与或非

  3. 条件运算符?:

  4. 扩展赋值:+=,-=

  5. 数学运算符:%:取余的作用 c%a == c /a 的余数

java运算符优先级()

自己搜寻

从上到下

运算符

 

 package opeator;
 
 public class Demon01 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 50;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);//int 型的自动四舍五入,double是双精度型的。在结果是小数的时候,柱子作用范围
        int m = 3;
 
        int n = m++;//执行完这行代码后,先给n赋值,再自增
 
        //a=a+1;
         
        System.out.println(n);//相当于先把m原来的值赋值给n,然后在将m的值加1
        int v = ++m;
        //相当于先进行m+1的操作,然后将m加一后值赋值给v
        //执行这段代码前,先自增,再给V赋值
        System.out.println(v);
    }
 }