首页 > 其他 > 详细

2020_09_02:变量

时间:2020-09-02 11:37:57      阅读:51      评论:0      收藏:0      [点我收藏+]
1.标识符和关键字
*关键字:
abstrack assert boolean break byte......
*标识符:(别用中文)(不能使用关键字)
Java所有的组成部分都需要名字
    类名,变量名以及方法名都被称为标识符
2.数据类型
*强类型语言(要求严格)
	变量的使用要严格符合规定,所有变量都必须先定义再使用
    String a;
	System.out.println(a); (出现错误)
*弱类型语言(要求宽松)
    玩不出事就可以
*Java的基本数据分为两大类
    *基本类型(primitive type)
   		数值类型:
			字节范围:byte(-128-127) short(+-三万多) int(+-21亿多) long(+-老多了)long num=30L;
        浮点类型:
			字节范围:float(4字节) float num = 50.1F;
               	   double(8字节)
        字符类型: char(2字节)
        数值、浮点、字符类型统称为数值类型
        布尔类型:
				占1位(最low的)   boolean : true / false
    *引用类型:(reference type)
		类(String)  接口(interface) 数组(array)
     
*什么是字节?
     *位(bit),是计算机存储的最小单位
     *字节(byte):计算机中处理数据的基本单位,习惯上用B来表示
     		1B = 8bit
     *字符:计算机中 使用的字母 数字 符号  bit -> B -> KB -> MB -> GB
         
//////////////////////////////////////////////////////////////////////////////////
  拓展:
*整数拓展:进制  二进制0b  八进制  十进制0  十六进制0x
    int i = 10; int i2 = 010; int i3 = 0x10;  (10,8,16)
*浮点数拓展:
	float :
  	    //float 有限 离散 舍入误差 大约  接近但不等于
        float f = 0.1F;
        double f1 = 1.0/10;
        System.out.println(f == f1);  //false

        float s1 = 123123123123f;
        float s2 = s1 + 1;
        System.out.println(s1 == s2); // true
//最好完全避免浮点数进行比较//最好完全避免浮点数进行比较   //最好完全避免浮点数进行比较//最好完全避免浮点数进行比较   //最好完全避免浮点数进行比较//最好完全避免浮点数进行比较   //最好完全避免浮点数进行比较//最好完全避免浮点数进行比较   //最好完全避免浮点数进行比较//最好完全避免浮点数进行比较   //最好完全避免浮点数进行比较//最好完全避免浮点数进行比较   //最好完全避免浮点数进行比较//最好完全避免浮点数进行比较
*字符拓展:
	    char str = ‘a‘;	 System.out.println((int)a);  //所有的字符本质还是数字
        *编码:
			Unicode(2字节 表(97 = a A = 65)  可以表示65536个字符  2的16次方)
         	U0000 UFFFF
            char c3 = "/u0061";(转义)   System.out.println(c3) // a
         
        *转义字符:"\t"制表符   "\n"换行   ......                 
3.类型转换
*由于java是强类型语言,所以在进行某些运算时,需要进行数据类型转换
    低--------------------------------->高
    byte,short,char->int->long->float->double  (小数的优先级一定大于整数)
*运算中,不同的数据类型先转化为同一类型,然后进行计算
    
    强制类型转换 (类型)变量名 高->低
    	    int i = 128;
			byte i1 = i;
			System.out.print(i1);//-128   byte max_value 127  内存溢出
    自动类型转换 低->高
        	int i = 128;
			double i2 = i;
			System.out.print(i2);//128.0
	*注意点*
        1.不能对布尔值进行类型转换
        2.不能把对象类型转换为不相干的类型(人不能变成猪 但是男人能变成女人)
        3.在把高容量转为低容量时 强制转换
        4.转换时可能存在内存溢出或者精度问题
        	System.out.println((int)23.7);     //23
			System.out.println((int)-45.89F);  //-45


 		char c = ‘a‘;
        int i = 1;
  		System.out.println(c + i); // 98
        System.out.println((char)(c + i));//b
        		


		public class Demo02 {
    	//操作比较大的数的时候注意溢出问题
   	 	//JDK7新特性 数字之间可以用下划线分割 ___
    		public static void main(String[] args) {
       	 	int money = 10_0000_0000;
        	System.out.println(money);
        	int years = 20;
        	int total1 = money * years;  //-1474836480计算的时候溢出了
        	long total2 = money * years;  //默认是int  转换之前就已经存在问题了
        	long total3 =(long) money *years;//先把一个数转换成long
        	System.out.println(total3); //默认是int 计算完成之后转
    }
}

4.变量

可以变化的量

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

Java变量是程序中最基本的存储单元

变量包括:变量名,变量类型,作用域 type name = value;

注意事项:

- 每个变量都有类型,类型可以是基本类型(byte,short,int),也可以是引用类型(Byte,Integer)
- 变量名必须是合法的标识符
- 声明变量是一条完整的语句,因此每一个声明都必须以分号结束   int a = 1;
public class Demo03 {
    //基本数据类型
    int a = 1;
    int b = 2;
    int c = 3;
    char x = ‘a‘;
    double pai = 3.14;
    //程序可读性  int a=1,b=2,c=3;
    //引用数据类型
    String name = "傻篮子";

}

变量的作用域

- 类变量
- 实例变量
- 局部变量
public class Demo04 {
    //属性:变量

    //实例变量:从属于对象,如果不进行初始化 就是这个类型的默认值
    //布尔值:默认false
    //除了基本类型  其余的默认值都是null

    //类变量
    static double salary = 2500;

    String name;
    int age;

    //main方法
    public static void main(String[] args) {
        //局部变量:必须声明和初始化值
        int i = 10;
        System.out.println(10);
        Demo04 demo04 = new Demo04();
        System.out.println(demo04.age);
        System.out.println(demo04.name);
        System.out.println(salary);
    }

    //其他方法
    public void add(){

    }
}
5.常量

(Constant):初始化(initialize)后不能再改变值!不会变动的值

常量可以理解成为一种特殊的变量,它的值被设定后,在程序运行期间不允许被改变

final 常量名 = 值; final int NUM = 1;

常量一般使用大写字符

public class Demo05 {
    //修饰符不存在先后顺序  final static  double PI = 3.14;
    static final double PI = 3.14;
    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量命名规则:

- 见名知意
- 驼峰命名
- 常量大写
6.运算符
  • 算数运算符: +、-、*、%、++、--
  • 赋值运算符: =
  • 关系运算符: > , < , >=, <=, == , != ,instanceof
  • 逻辑运算符: &&, ||, ! (与或非)
  • 位运算符:...........(give up)
  • 条件运算符: ? , :
  • 赋值扩展运算符: += , -= , *=, /=

算数运算符

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        int a = 10;
        int b = 20;
        int c = 25;
        int d = 25;

        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a % (double)b);
    }
}
package operator;

public class Demo02 {

    public static void main(String[] args) {
        long a = 123123123L;
        int b = 123;
        short c = 10;
        byte d = 8;

        System.out.println(a+b+c+d) ;//Long
        System.out.println(b+c+d);//Int
        System.out.println((c+d));//Int
        //自动升为混合运算中的最高类型
    }
}

关系运算符

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确,错误,布尔值
        //if else
        int a = 10;
        int b = 20;
        int c = 21;

        System.out.println(c%a);// c/a = 21/10 = 2/....1 取余,模运算
        System.out.println(a > b);
        System.out.println(a < b);
        System.out.println(a == b);
        System.out.println(a != b);
    }
}

2020_09_02:变量

原文:https://www.cnblogs.com/gokou-ruri/p/13600512.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!