数据类型与运算符

变量与运算符

1数据类型

基本数据类型占用几个字节取值范围包装类
整形(int)4-231-231-1Integer
长整形(long)8-263-263-1Long
双精度浮点型(double)8Double
单精度浮点型(float)4Float
字符类型(char)2Character
字节类型(byte)1Byte
短整型(short)2-32768-32767Short
布尔类型(boolean)1true/falseBoolean

2.变量的定义

变量的理解:
1.变量的本质就是一块内存空间,空间的大小由数据类型决定

2.要想找到变量对应的内存空间,必须给该内存空间起个名字,叫做变量名称

3.变量的内存空间中没有数据是不能使用的,向变量内存空间中存储数据的过程,叫做赋值或者初始化
变量的定义格式:
格式一:
数据类型 变量名称;
变量名称 = 数据值;

int  a ;
a = 10;

格式二:
数据类型 变量名称 = 数据值

int a = 10;

格式三:
数据类型 变量名称1,变量名称2… ;
变量名称1 = 数据值1;
变量名称2 = 数据值2;

int a,b;
a = 10;
b = 20;

格式四:
数据类型 变量名称1= 数据值1,变量名称2= 数据值2, … ;

int a = 10,b = 20;

3.变量的注意事项

1.变量名称:在同一个大括号范围内,变量的名字不可以相同。
2.变量赋值:定义的变量,不赋值不能使用。
3.定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。
4.定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double,double的取值范围是大于float的,类型不兼容。

public class Demo01 {
    public static void main(String[] args) {
        //定义int变量a,初始值10
        int a = 10;
        System.out.println(a);

        //错误,同一个{}中不能重名
        //int a = 20;
        //System.out.println(a);

        int b;
        //错误: 在使用b之前,必须保证b中有值
        //System.out.println(b);
        //错误: 整数默认int类型,6000000000(60亿)已经远远超出了int的范围

        //long num = 6000000000;
        long num = 6000000000L;//6000000000L: long类型
        System.out.println(num);

        //错误:小数默认double类型(8个字节),左侧变量float(4个字节)
        //float f = 6.6;
        float f = 6.6F;
        System.out.println(f);
    }
}

4.字符串类型变量(String)

代码示例
String str = "abc";
注意事项:

1.java使用 双引号 + 若干字符 的方式表示字符串字面值。

2.和上面的类型不同, String 不是基本类型, 而是引用类型

3.字符串中的一些特定的不太方便直接表示的字符需要进行转义.

5.常量

		int a = 20;	//字面值常量,表示十进制
        int b = 010;//字面值常量,表示八进制		
        int c = 0x10;//字面值常量,表示十六进制
        long d = 10L;//字面值常量,
        double e = 1.0;//字面值常量
        double f = 1.5e2;//字面值常量,科学计算方法表示
        float g = 1.0F;//字面值常量
        boolean h = true//字面值常量
        char ch = 'a';//字面值常量
        String str = "abc";//字面值常量
final修饰的常量不能再程序运行过程中被修改

6.类型转换

1.自动类型转换
    Java程序中要求参与计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
自动类型转换:
	概念: 取值范围小的数据或者变量可以直接放入取值范围大的变量中(小萝卜可以直接放入大坑中)
    特点:
		1.是自动完成的,不需要代码的特殊处理
        2.byte/short/char类型的数据,只要参加运算,会自动转换为int类型 
        3.byteshortchar-->int-->long-->float-->double
2.强制类型转换
    概念: 取值范围大的数据或者变量,不能直接赋值给取值范围小的变量(大萝卜不能直接放入小坑中)
        必须进行强制类型转换
    格式:
		转后类型 变量名称 = (转后类型)转前数据/变量;

7.运算符

1.算数运算符

基本四则运算:+-*/
0不能作为除数
System.out.println(10/0);
//ArithmeticException: / by zero
%表示取余
     int a = 21;
     System.out.println(a%2);//1
增量赋值运算
    +=-=,*=,/=,%=
自增/自减运算++/--
    	int c = 10;
        int b = ++c;
        System.out.println(b);
        int d = a++;
        System.out.println(d);

2.关系运算符

== != < > <= >=
		int a = 40;
        int b = 50;
        System.out.println(a == b);//false
        System.out.println(a != b);//true
        System.out.println(a <= b);//true
        System.out.println(a >= b);//false

3.逻辑运算符

逻辑与 &&

规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.

int a = 1;
int b = 2;
int c = 3;
System.out.println(a < b && b < c);
逻辑或 ||

规则: 两个操作数都为 false, 结果为 false,否则为true

int a = 10;
int b = 20;
int c = 30;
System.out.println(a < b || b < c);
逻辑非 !

规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数).

int a = 10;
int b = 20;
System.out.println(a != b);

4.位运算符

& | ~ ^

按位与 &:

如果两个二进制位都是 1, 则结果为 1, 否则结果为 0。

int a = 10;
int b = 20;
System.out.println(a & b);//0
按位或|

如果两个二进制位都是 0, 则结果为 0, 否则结果为 1。

int a = 10;
int b = 20;
System.out.println(a | b);
按位取反~

如果该位为 0 则转为 1, 如果该位为 1 则转为 0

按位异或

如果两个数字的二进制位相同,则结果为0,相异则结果为1。

5.条件运算符

表达式1 ? 表达式2 : 表达式3
当 表达式1 的值为 true 时, 整个表达式的值为 表达式2 的值; 当 表达式1 的值为 false 时, 整个表达式的值为 表达式3 的值.
也是 Java 中唯一的一个 三目运算符, 是条件判断语句的简化写法.

//求两个值得最小值
int a = 50;
int b = 20;
int min = a < b ? a : b;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值