Java 第二章 变量和数据类型

第二章 变量和数据类型

第二章 变量和数据类型1、变量(1)内存地址;通过变量名可以简单快速地找到数据(2)变量命名规则(3)帕斯克命名法2、Java常用数据类型3、八大数据类型说明4、变量声明及使用5、常数(其值不能改变)6、Scanner的使用7、数据转换类型(1)隐式类型转换(自动转换)(2)自动类型转换规则(3)强制类型转换规则4、赋值运算符5、运算符6、关系运算符7、逻辑运算符8、条件运算符9、三元运算符10、运算符优先级

1、变量

变量:一个数据存储空间的表示;

不同数据存入具有不同内存地址的空间,相互独立

(1)内存地址;通过变量名可以简单快速地找到数据
房间=变量
房间名字=变量名
房间类型=变量类型
入住的客人=变量值
(2)变量命名规则

字、下、美、人、数、骆驼有意义(下划线最实用)

不能使用关键字,如public、class(红色;是关键字Java本身已使用的)

保留字(灰色;是Java准备用但还没有使用的关键字)

(3)帕斯克命名法

大骆驼:类名 如:ShopUser

小骆驼:变量,方法 如:showUser

2、Java常用数据类型

数据类型:数值:整型、浮点型。

非数值

3、八大数据类型说明

(1)byte:

类型大小: 1字节(8位)。 取值范围: -128 到 127。 用途: 用于节省空间存储较小的整数。 (2)short:

类型大小: 2字节(16位)。 取值范围: -32,768 到 32,767。 用途: 同样用于存储整数,占用空间比byte大,适用于需要比byte更大范围的场景。 (3)int:

类型大小: 4字节(32位)。 取值范围: 大约 -2^31 到 2^31-1,即-2,147,483,648 到 2,147,483,647。 用途: 最常用的整数类型,适用于大多数整数计算。 (4)long:

类型大小: 8字节(64位)。 取值范围: 大约 -2^63 到 2^63-1。 用途: 当需要存储非常大的整数时使用。 (5)float:

类型大小: 4字节(32位)。 精度: 单精度浮点数,大约6-7位有效数字。 用途: 用于存储带有小数部分的数值,适合不需要很高精度的场合。 (6)double:

类型大小: 8字节(64位)。 精度: 双精度浮点数,大约15-16位有效数字。 用途: 提供更高的精度,是处理浮点数的默认选择。 (7)char:

类型大小: 2字节(16位)。 取值范围: Unicode字符集的一个码位,通常是0到65,535。 用途: 用于存储单个字符,支持Unicode字符集。 (8)boolean:

类型大小: 不固定,通常实现为1位,但具体大小取决于虚拟机实现。 取值: true 或 false。 用途: 表示逻辑上的真或假,用于条件判断。

public static void main(String[ ] args){
            //八大数据类型
            int i = 0;//整型
            byte b = 0;//字节类型
            short s = 0;//短整型
            long l = 20L;//长整型,数字后面需要加L
            float f = 3.33F;//单精度浮点型,数字后面需要加F
            double d = 33.33;//双精度浮点型
            char c = '男';//字符类型
            boolean bool = true;//布尔类型 false假 true真
            //引用数据类型
            String str="asda12314564";//字符串类型,String开头要大写
}

4、变量声明及使用

第一步:声明变量,根据数据类型在内存申请空间

int money;
//数据类型 变量名; 

第二步:赋值,即“将数据存储至对应的内存空间”

money = 1000 ;
//变量名 = 数值;

第一步和第二步可以合并

int money = 1000; 
数据类型 变量名=数值;

第三步:使用变量,即“取出数据使用”

5、常数(其值不能改变)

优点:比较安全推荐做法:

(1)常量名通常大写

(2)不同字符使用下划线分隔

(3)只能被赋值一次,通常定义时即对其初始化

//关键字final定义常量
final int NUM = 10;
final double PI = 3.14;
int r = 2;
double area = PI * r * r;

6、Scanner的使用

第一步:导入Scanner类

import java.util.*;

第二步:创建Scanner对象

Scanner input = new Scanner(System.in);

第三步:获得键盘输入的数据

int now = input.nextInt();

7、数据转换类型

(1)隐式类型转换(自动转换)
int num1 = 2;
double num2 = num1;
(2)自动类型转换规则

规则1:如果一个操作数为double型,则整个表达式可提升为double型

规则2:满足自动类型转换的条件

两种类型要兼容

数值类型(整型和浮点型)互相兼容

目标类型大于源类型:

例如:double 型大于 int 型

(3)强制类型转换规则
int  b  = (int)10.2;
double a = 10;
int c = (int)a;//a被强制转换为int

4、赋值运算符

如何借助变量以及赋值运算符实现两个数据的交换?

int num1=8;
int num2=9;
//实现交换
int num3=num1;//先把1号放到3号
num1=num2;//再把2号放到1号
num2=num3;//最后3号放到2号

5、运算符

基本的算术运算

+、-、*、/、%、++、--

复合算术运算符

+=、-=、*=、/=、%=

6、关系运算符

运算符含义范例结果
==等于5==6false
!=不等于5!=6true
>大于5>6false
<小于5<6true
>=大于等于5>=6false
<=小于等于5<=6true

=为赋值运算符,==为等于运算符

关系表达式的结果为布尔值

、<、>=、<= 运算符的优先级别高于==、!=

、<、>=、<=运算符只支持数值类型的数据比较

7、逻辑运算符

运算符含义运算规则
&&短路与两个操作数都是true,结果才是true
||短路或两个操作数一个是true,结果就是true
!操作数为true,结果为false
操作数为false,结果为true

如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了;优先级别 ! > && > ||

int x=8;
int y=9;
System.out.println((++x==y)&&(++x!=y));
System.out.println(x);//true  10
​
int x=8;
int y=9;
System.out.println( (++x!=y)&&(++x==y));
System.out.println(x);//true  9

8、条件运算符

int min;
min = 5 < 7 ? 5 : 7;//5小于7是条件 结果是true输出表达式1 结果是false输出表达式2
System.out.println(min);
min = 10 < 7 ? 10 : 7;
System.out.println(min);
​

9、三元运算符

语法:条件?结果1:结果2

String name = (6==7?"666":"777")

10、运算符优先级

(1)单目运算符包括! ++ --,优先级别高

(2)优先级别最低的是赋值运算符

(3)可以通过()控制表达式的运算顺序,()优先级最高从右向左结合性的只有赋值运算符、三目运算符和单目运算

(4)符算术运算符 > 关系运算符 > 逻辑运算符

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值