第一节 数据类型和运算符

数据和运算符

1.数据

1.1标识符的定义

标识符:在程序中自定义的一些名称。

标识符的命名规范:**标识符由26个英文字母大小写,数字0-9,符号_$组成。**注:

首字母不能为数字

标识符不能为Java关键字和保留字

Java中标识符严格区分大小写

1.2数据类型

数据类型可分为:基本数据类型,引用数据类型。

基本数据类型

数据类型位数默认值取值范围举例说明
byte80-27_27-1byte a=10;
short160-215_215-1short a=10;
int320-231_231-1int a=10;
long640-263_263-1long a=10l;
float320.0-231_231-1float a=10.0f;
double640.0-263_263-1double a=10.0;
char16‘’(空字符)0_2^16-1char a=‘a’;
boolean8falsetrue,falseboolean a=true;

引用数据类型

除基本数据类型以外的数据类型都是引用数据类型

例如:

String a="ads";
String b=new String("asd");
Integer c=new Integer(65);

注:所有的引用数据类型的默认值都为null

1.3变量的定义

变量

变量:可以变换的量

定义格式:[修饰符] 数据类型 标识符;

注:当变量作为类的成员使用时,Java才确保给定其默认值。

注:局部变量必须初始化。

//例如:
int shuZhi1=10;  //初始化变量
double shuZhi2;   //声明变量
shuZhi2=11.2;     //给变量赋值

1.4基础数据类型转换

数据类型转换就是指:不同数据类型之间的相互转换

其中又可分为:自动类型转换,强制类型转换

注意:整数值默认为int型,小数值默认为double型,如10,12.1

自动类型转换:表数范围小的可以向表数范围大的进行自动类型转换。

数值型+字符型---> 按照精度进行大小排列
byte-->short(char)-->int-->long-->float-->double
前提条件:
    精度低的数据转换成精度高类型的数据
        //1.基本的类型转换
        //int 转换成  double

        int num = 100;
        double dou = num;//自动转换
        System.out.println("num:"+num);//100
        System.out.println("dou:"+dou);//100.0

        char ch = 'a';
        int i = ch;
        System.out.println("ch:"+ch);//a
        System.out.println("i:"+i);//97

强制类型转换:表数范围大的数向表数范围小的进行转换。

	精度高类型数据转换成 精度低的数据 --> 数据丢失
    语法: 目标数据类型 变量名 =(目标数据类型) 源类型;
//        强制转换(需要开发人员手动进行转换)

        double money = 100837.567;
        int newMoney =(int) money;

        System.out.println(money);//
        System.out.println(newMoney);//100837

2.运算符

2.1运算符表

优先级运算符结合性
1() [] .从左到右
2! +(正) -(负) ~(非运算) ++ –从右到左
3* / %从左到右
4+(加) -(减) +(字符串连接符)从左到右
5<< >> >>>从左到右
6< <= > >= instanceof从左到右
7== !=从左到右
8&(按位与)从左到右
9^(异或)从左到右
10|(按位或)从左到右
11&&(逻辑与)从左到右
12||(逻辑或)从左到右
13?:从右到左
14= += -= *= /= %= &= |= ^= ~= <<= >>= >>>=从右到左

2.2自增自减运算符

注:自增和自减运算符可以放在变量的前面和变量的后面

注:自增和自减运算符号放在变量的前面,如 ++a, 表示先执行运算,再生成值, 放在变量的后面,如: a++,先生成值,再执行运算。

例如:
    int a=10;
	a++,++a; 等于 a=a+1;
	int b;
	b=a++;	等于 b=a,a=a+1;
	b=++a;	等于 a=a+1,b=a;q
    --同理
        
注意:由于变量缓存机制有一个特殊情况
	int num=10;
	num=num++;
	System.out.println(num);	//num为10
	//以上相当于
	int num=10;
	int num1=num;	//缓存变量num1
	num=num+1;
	num=num1;
	//所以num=num++无论执行多少遍num的值不变

注意:但++在前就不同了
    int num=10;
	num=++num;
	System.out.println(num);	//num为11
	//以上相当于
	int num=10;
	num=num+1;
	num=num;
	

2.3字符串连接符

字符串连接符:当 + 运算符左右两边参与运算的表达式的值有一个为字符串时,那么在程序运行时会对往后的所有值进行字符串转换。

注:其优先级和加号+同等

2.4逻辑运算符

&&,||又称作短路逻辑运算符:

&&(逻辑与)a&&ba,b都为true结果则为true,否则结果为false
||(逻辑或)a||ba,b一边为true结果则为true,两边为false则结果为false

注意:

&&使用时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

||使用时左边为真,右边不参与运算,如果左边为假,那么右边参与运算。

2.5三元运算符

三元运算符又称条件运算符,是“?”和“:”符号组合,根据条件执行两个语句中的其中一个。

语法:条件表达式?条件为真返回的结果:条件为假返回的结果

例如:c=a>b?a:b;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风萧寒水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值