数据类型与运算符

变量和类型

在这里插入图片描述
冯诺依曼体系

整型变量(重点)

基本语法格式:int 变量名 = 初始值;
代码示例:

int num = 10;
System.out.println(num);

注意事项:
1、int表示变量的类型是一个整型。
2、变量名的变量的标识,后续都是通过这个名字来使用变量。
3、Java中 = 表示赋值,意思是给变量设置一个初始值。
4、初始化操作是可选的,但是建议创建变量的时候都显示格式化。
5、最后不要忘记分号,否则会编辑失败。
6、//表示注释。注释作为代码的解释说明部分,不参与编译运行。
在java中,一个int变量占4个字节。

长整型变量

基本语法格式:long 变量名 = 初始值;
代码示例:

long num = 10L;//定义一个长整型变量,初始值写作10l也可以(小写的l,不是数字1)
System.out.println(num);

注意事项:
1、基本语法格式和创建int变量基本一致,只是把类型修改成long
2、初始化设定的值为10L,表示一个长整型的数字,10l也可以。
3、使用10初始化也可以,10 的类型为int,10L的类型是long.
Java中long类型占8个字符,表示的数据范围-2^63 -> 2 ^63 - 1

双精度浮点型变量(重点)

基本语法格式:double 变量名 = 初始值;
代码示例:

double num = 1.0;
System.out.println(num);

Java中double类型为8个字节

单精度浮点型变量

基本格式:float 变量名 = 初始值;
代码示例:

float num = 1.0f;//写作1.0F也可以
System.out.println(num);

float类型在Java中占4个字节。

字符类型变量

基本格式:char 变量名 = 初始值;
代码示例:

char ch = 'A';

注意事项:
1、Java中使用 单引号+单个字母 的形式表示字面字符值。
2、计算机中的字符本质上是一个整数。
在Java中,一个字符占两个字节。

字节类型变量

基本语法格式:
byte 变量名 = 初始值;
代码示例:

byte value = 0;
System.out.println(value);

注意事项:
1、字节类型表示的也是整数,之占一个字节,表示范围较小(-128->127)
2、字节类型和字符类型互不相干。

短整型变量

基本语法格式:
short 变量名 = 初始值;
代码示例:

short value = 0;
System.out.println(value);

注意事项:
1、short 占用2个字节,表示的数据范围是 -32768 -> +32767
2、这个表示范围比较小,一般不推荐使用。

布尔类型变量

基本语法格式:
boolean 变量名 = 初始值;
代码示例:

boolean value = true;
System.out.println(value);

注意事项:
1、boolean 类型的变量只有两种取值,ture表示真,flase表示假。
2、Java的 boolean 类型和 int 不能互相转换,不存在 1 表示 true,0 表示 false 这样的用法。
3、boolean 类型有些JVM 的实现是占1个字符,有些是占1个比特位,这个没有明确的规定。

字符串类型变量(重点)

把一些字符放在一起就构成了字符串
基本语法格式:String 变量名 = “初始值”;
代码示例:

String name = "zhangsan";
System.out,println(name);

注意事项:
1、Java 使用双引号 + 若干字符的方式表示字符串字面值。
2、和上面的类型不同,String不是基本类型,而是引用类型。
3、字符串中的一些特定的不太方便直接表示的字符需要进行转义。

比较常见的转义字符如下图所示
在这里插入图片描述

变量的作用域

也就是该变量能生效的范围, 一般是变量定义所在的代码块 (大括号)

变量的命名规则

硬性指标

  1. 一个变量名只能包含数字, 字母, 下划线
  2. 数字不能开头.
  3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量。
    软件指标
  4. 变量命名要具有描述性, 见名知意.
  5. 变量名不宜使用拼音(但是不绝对).
  6. 变量名的词性推荐使用名词.
  7. 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大
    写.
    小驼峰命名示例:
int maxValue = 100;
String studentName = "张三";

常量

常量主要有一下两种体现形式:

字面值常量

加粗样式在这里插入图片描述

final关键字修饰的常量

final int a = 10;
a = 20;//编译出错,提示 无法为最终变量a分配值

常量不能在程序运行中发生修改

理解类型转换

Java为一个强类型编程语言,当不同类型之间的变量相互赋值的时候,会有较严格的校验。

int和long/double相互赋值

long 表示的范围更大,可以将int赋值给long,但是不能将long赋值给int.
double 表示的范围更大,可以将int赋值给double,但是不能将double赋值给int.
结论:不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行.

int和boolean相互赋值

int a = 10;
boolean b = true;
b = a;
a = b;

结论:int 和 boolean 是毫不相干的两种类型,不能互相赋值。

int字面常量给byte赋值

byte a = 100;//编译通过
byte b = 256;//编译报错,提示 从int转换到byte可能会有损失

注意:byte 表示的数据范围是 -128 -> +127,256已经超过范围,而100还在范围之内。
结论:使用字面值常量赋值的时候,Java会自动进行一些检查校验,判定赋值是否合理。

使用强制类型转换

int a = 0;
double b = 10.5;
a = (int)b;

int a = 10;
boolean b = false;
b = (boolean)a;//编译出错,提示不兼容的类型。

结论:使用(类型)的方式可以将double类型强制转换为int。但是
1、强制类型转换可能会导致精度丢失,如刚才的例子中,赋值之后10.5就变成了10,小数点后面的部分被忽略。
2、强制类型转换不是一定能成功,互不相干的类型之间无法强转。

理解类型提升

1、不同类型的数据混合运算,范围小的会提升成范围大的。
2、对于short,byte这种比4个字节小的类型,会先提升成4个字节的int,再运算。

运算符

1、%操作在java中也能针对double来计算。
2、需要区分清楚前置自增以及后置自增之间的区别。
3、由于java是强类型语言,因此对于类型检查叫严格,因此像&&之类的运算操作数必须是boolean.
4、要区分清楚&和|什么时候表示按位运算,什么时候表示逻辑运算。(当&和|的操作数为整数(int,short,long,byte)的时候,表示按位运算,当操作数为boolean的时候,表示逻辑运算。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我! 毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip毕设新项目-基于Java开发的智慧养老院信息管理系统源码+数据库(含vue前端源码).zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值