Java变量、数据类型、运算符

一、变量

1.1 什么是变量?

变量:表示数据在内存中内存地址,变量对应的数据是可以改变的。

1.2 如何使用变量?

a:申明变量(申请内存地址)

数据类型 变量名;int a;

b:变量的初始化(变量赋值)

变量名 = 值;a = 10 ;

c:使用变量

System.out.printal(a);

public class test01{
    public static void main(String[] args){
        /*
			//方式1:		
			//1、申明变量
			int a;
			//2、变量赋值
			a = 10;
			//3、使用变量
			System.out.println(a);		
		*/
		/*
			//方式2:
			//1、申明变量和变量初始化
			int a = 10;
			//2、使用变量
			System.out.println("a的值为:"+a);
		*/
		
		//方式3:
		
		//连续定义多个变量     int a; int b; int c = 10;
		int a,b,c = 10;
		
		
		System.out.println("c的值为:"+c); 	
		
		//注意:在java中变量一定要初始化才能使用
    }
}

1.3 变量的命名规范

a、只能是数字、字母、下划线、美元$符号组成

b、不能使用数字开头

c、不能使用Java中的关键字和保留字

d、使用驼峰命名法(两个单词以上组成变量)

小驼峰:addService 变量名、方法名

大驼峰:HelloWord 类名、接口

e、见名知意

f、Java中区分大小写

Java中关键字和保留字

 二、数据类型

2.1基本数据类型

2.1.1整数类型

类型所占字节所占位数取值范围
byte1字节8位-2^7 ~ 2^7-1
short2字节16-2^15 ~2^15-1
int4字节32-2^31 ~ 2^31-1
long8字节64-2^63 ~ 2^63-1

2.1.2浮点类型

类型所占字节所占位数取值范围有效数位
float4字节32位±3.4E+387位
double8字节64位±1.7E+30816位

2.1.3布尔类型

类型所占字节所占位数取值范围
boolean1字节8位true\false

2.1.4 字符类型

类型所占字节所占位数取值范围
boolean1字节8位true\false

代码演示

public class Demo02{
	public static void main(String[] args){
		/*
			基本数据类型
				整数类型
					byte  short  int  long
				浮点类型
					float  double
				布尔类型
					boolean
				字符类型
					char			
			引用数据类型
				String、类、接口、数组		
		*/
		//定义byte类型的变量
		byte b = 10;
		System.out.println(b);
		// byte b1 = 128; 错误
		// System.out.println(b1);
		
		//定义short类型的变量
		short s = 128;
		System.out.println(s);
		
		//定义int类型的变量
		int i = 1000; 
		System.out.println(i);
		
		//定义int类型的变量
		long l = 364748123123L; 
		System.out.println(l);
		
		
		//定义float类型的变量
		float f = 10.2F;
		System.out.println(f);
		
		float f1 = 9999.9994f;
		System.out.println(f1);
		
		//定义double类型的变量
		double d = 10d;
		System.out.println(d);
		
		double d1 = 12345678910111213.0;
		
		System.out.println(d1);
		
		//boolean类型    真假(一般用条件判断)    true false
		boolean boo = false;
		System.out.println(boo);
		
		//char类型
		/*
			字符:各个国家的文化符号
			字符集:收录了各个国家的字符形成的集合     Unicode万国码
			字符编码:ASCII(美国标准信息交换码)、UTF-8
		
		
			在java字符和字符串是不同的数据类型
			字符必须使用''表示,字符串必须要使用""
			字符可以有三种表示形式:
					1、字符   		'a'   '中'
					2、数字   		97   20 
					3、十六进制     '\u0041'   100 0001 = 65
		*/
		
		char c1 = '中';
		char c2 = 20013;
		char c3 = '\u0041';
		
		System.out.println(c1);
		System.out.println(c2);
		System.out.println(c3);
	}
}

2.1.5 数据类型细节

a、long类型数据需要在最后添加L;

b、float类型数据需要在会后添加F;

c、字符必须使用' ' 表示,字符串必须使用" "表示

2.1.6 转义字符

转义字符:转变字符原有含义

常见的转义字符:\n 表示换行       \t 表示制表位        \u  表示十六进制

转义字符

注意:在Java代码注释中不能出现 \ 

public class Demo03{	
	public static void main(String[] args){
		//常见转义字符:\n  表示换行    \t表示制表位   \u 表示十六进制
		System.out.println("hello\tworld");
		System.out.println("hello\nworld");
		
		//转义字符
		System.out.println("你\"真棒\"");		
		
		//转义字符  斜杠不能单独使用
		System.out.println("D:\\a\\b");
	}
}

2.2引用数据类型

String表示引用数据类型

在Java中一切用" " 包裹起来的类型都是String类型

public class test02{
    public static void main(String[] args){
        //String是引用数据类型 类!
        //在Java中一切用 ""包裹起来的类型都是String类型
        String name = "ccq";
        String hobby = "打羽毛球";
        String job = "java开发";
        System.out.println("姓名为:"+name+"\n爱好为:"+hobby+"\n职业为:"+job);
    }
}

三、数据类型转换

3.1 为什么要进行数据类型转换

在Java中要求等号左边和等号右边的类型要一致。如果出现不一致,就需要进行数据类型转换。

3.2 自动类型转换

在数据类型兼容的情况下,小转大就是自动类型转换

自动类型转换也称之为隐式类型转换,即不需要做任何操作

public class test03{
    public static void main(String[] args){
        //自动类型转换
        byte b = 10;
        //i的类型为int b的类型为byte
        int i = b;
        System.out.println(i);

        int num1 = 100 ;
        double num2 = num1;
        System.out.println(num2);

        //char类型的自动类型转换
        char c1 = 'a';
        int c2 = c1;
        System.out.println(c2);
    }
}

3.3 强制类型转换

在数据类型兼容的情况下,大转小就是强制类型转换

自动类型转换也称为显示类型转换,需要添加对应语法

语法:(转换类型)变量

public class Demo05{	
	public static void main(String[] args){		
		//强制类型转换
		double n1 = 100;
		//n1的类型为double  n2的类型为int
		int n2 = (int)n1;
		System.out.println(n2);
		
		int c3 = 97;
		char c4 = (char)c3;
		System.out.println(c4);	
		
		//对表达式进行类型转换
		double d1 = 10;
		double d2 = 12;
		int d3 = (int)(d1 + d2);
		System.out.println(d3);		
	}
}

3.4 数类型转换注意点

  • 1、boolean不能参与任何数据类型转换

  • 2、基本类型中范围(大小) byte short|char int long float double

  • 3、强制类型转换可能会造成数据丢失

  • 4、数据类型提升

    • 表达式中有double,结果double

    • 有float,结果float

    • 有long,结果long

    • 有int,结果int

    • 有char、byte、short,结果为int

  • 5、在Java中,任何一个整数默认都当做是int类型。在Java中,任何一个小数默认都是double类型

public class Demo05{	
	public static void main(String[] args){
		/*
			数据类型转换的注意点:
				1、boolean不能参与任何数据类型转换
				2、基本类型中范围(大小)  byte  short|char  int  long   float  double
				3、强制类型转换可能会造成数据丢失	
				4、数据类型提升
					表达式中有double,结果double
							有float,结果float
							有long,结果long
							有int,结果int
							有char、byte、short,结果为int
				5、在java中,任何一个整数默认都当做是int类型,
				   在java中,任何一个小数默认都是double类型				
		*/
		
		int m1 = 129; //0000 0000 0000 0000 0000 0000 1000 0001
		byte m2 = (byte)m1;
		System.out.println(m2);
		
		double m3 = 10.2;		
		int m4 = (int)m3;
		System.out.println(m4);
		
		
		short s1 = 1;
		short s2 = 1;
		//short s3 = s1 + s2; 错误
		//System.out.println(s3);
		
		char x1 = 'a';
		System.out.println(x1+1);
		
	}
}

四、运算符

4.1 算术运算符

+           -           *            /            %            ++          --
public class Demo06{
	public static void main(String[] args){
		//算术运算符
		
		/*
			问题1:
				+号在java中有两个作用:1、字符串的拼接  2、加法运算
				字符串拼接的时候,任何类型与字符串拼接最终的结果是字符串类型
			问题2:
				/和%可以求得数字上的各个数位
			
			问题3:
				++表示自身+1
				--表示自身-1
				
				++在前,先加+1再使用
				++在后,先使用再加+1
		*/
		
		int a = 10;
		int b = 20;
		System.out.println(a+b);
		System.out.println(a-b);
		System.out.println(a*b);
		System.out.println(a/b);
		System.out.println(a%b);
		
		System.out.println("hello"+1+2); //hello12
		System.out.println(1+2+"hello"); //3hello
		System.out.println(1+2+"hello"+3+4);//3hello34
		
		int c = 34;
		//获取c这个数据中的十位
		System.out.println(c/10);
		//获取c这个数据中的个位
		System.out.println(c%10);


		int d = 10;
		d++; //d = d + 1;		
		System.out.println(d); //11
		++d;
		System.out.println(d); //12
		
		System.out.println(d++); //12    13
		System.out.println(++d); //14  

		//int x = 10, int y = 8;   x++ - --x + y-- + x++ - --y = ?
		int x = 10; int y = 8;
		System.out.println(x++ - --x + y-- + x++ - --y);
		
		/*
		    x=11  y=6
			x++ - --x + y-- + x++ - --y
			10 - 10 + 8 + 10 - 6		
		*/
	}
}

 4.2 赋值运算符

=            +=           -=           *=            /=           %=
public class Demo07{
	public static void main(String[] args){
		//赋值运算符
		int a = 10;
		a += 2; //相当于 a=a+2;
		a -= 3; //a = a - 3;
		a *= 4; //a = a * 4;
		a /= 5; //a = a / 5;
		a %= 6; //a = a % 6;
		
		//笔试题:short s1 = 1; short s2 = 1;  s2 = s1 + s2?  s2 += s1;?
		
		short s1 = 1; 
		short s2 = 1;
		// s2 = s1 + s2; //错误
		s2 += s1; //正确
		System.out.println(s2);		
	}
}

4.3 关系运算符

>            <              >=              <=               !=              ==
public class Demo08{
	public static void main(String[] args){
		//关系运算符   结果:boolean类型
		int a = 10;
		int b = 20;
		System.out.println(a > b);
		System.out.println(a >= b);
		System.out.println(a < b);
		System.out.println(a <= b);
		System.out.println(a == b);
		System.out.println(a != b);
		
		//整除条件 
		//偶数条件: a % 2 == 0
		//奇数条件: a % 2 != 0		
	}
}

4.4 逻辑运算符

&&            ||            !
public class Demo09{
	public static void main(String[] args){
		//逻辑运算符   结果:boolean类型
		
		
		/*
			
			&&:所有的结果为true,最终结果才是true
				短路与:只要有一个结果为false,就不会执行后面的表达式
			||:所有的结果只要有一个为true,最终结果就是true
				短路或:只要有一个结果为true,就不会执行后面的表达式
			!: 对结果进行取反
			
			&:  无论结果如何都会执行完整个表达式
			|:  无论结果如何都会执行完整个表达式
		*/
		int a = 17;
		//问a是否是一个偶数且大于10
		//boolean bool = a % 2 == 0 && a > 10;
		System.out.println(a % 2 == 0 && a > 10);
		System.out.println(a % 2 == 0 & a > 10);
		
		//问a是否是一个奇数数或小于15
		System.out.println(a % 2 != 0 || a < 15);
		System.out.println(a % 2 != 0 | a < 15);
		
		//问:a是否是一个奇数
		System.out.println(!(a % 2 == 0));
		
        //&的用法
		int b = 10;
		int c = 12;
		boolean bool2 = b++ > c-- & b-- == 10;
		System.out.println(b);
	}
}

4.5 三目运算

boolean类型表达式 ? 结果1 : 结果2;

public class Demo10{
	public static void main(String[] args){
		//三目运算符 
		/*
			boolean类型表达式 ? 结果1 : 结果2;		
		*/
		//判断年龄如果大于18岁,输出成年人,否则输出未成年人
		int age = 70;		
		String s = age > 18 ? "成年人" : "未成年人";		
		System.out.println(s);
		
		//a和b   输出较大的那个数字
		int a = 10;
		int b = 20;
		int num = a > b ? a : b;
		System.out.println(num);
		
		
        //三目运算符嵌套使用
		//判断年龄如果大于18岁,输出成年人,但是如果大于60岁,输出老年人,否则输出未成年人
		String s1 = age > 18 ? age > 60 ? "老年人": "成年人" : "未成年人";
		System.out.println(s1);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值