Java变量和数据模型

目录

1、变量

内存地址不好记,怎么办?

变量名规则

2、Java常用数据类型(除此还有引用数据类型)

数据类型说明

变量声明及使用(不能重复;未赋值无法输出)

八大数据类型和引用数据类型

3、常量(其值不能改变)【final】

4、Scanner的使用(如何接受用户键盘输入的值)

5、数据类型转换

隐式类型转换(自动转换)

6、算数运算符

关系运算符

逻辑运算符

条件运算符

运算符优先级


单位换算

8位(bit) = 1字节 (byte)

1024字节 = 1KB(千字节)

1024KB = 1MB(兆字节)

关键字||保留字

java内部使用了的单词

不能作为类名或变量名出现

注释

单行注释
    //
多行注释
    /*
    
    */
文档注释
    /**
    
    */

JAVA内存

栈:一般存储基本数据类型

堆:一般存储引用数据类型

1、变量

在程序运行过程中值不可以发生改变

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

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

内存地址不好记,怎么办?

通过变量名可以简单快速地找到数据

房间——变量

房间名字——变量名

房间类型——变量类型

入住的客人——变量值

变量名规则

英文的,有意义的

1、字、下、美、人、数、骆驼有意义

2、不能使用关键字,如public、class [红色] (关键字Java本身已经使用)

3、保留字[灰色](Java本身已经使用但没有使用 )

帕斯克命名法:

大骆驼:类名 如:ShopUser 小骆驼:变量,方法 如:showUser

使用下划线 user_name

2、Java常用数据类型(除此还有引用数据类型)

数据类型说明
数据类型大小取值范围
byte1字节8位-128 ~ +127
int4字节32位-2147483648(-231) ~ + 2147483647(231-1)
short2字节16位-32768 (-215) ~ + 32767 (+215-1)
long8字节64位-263 ~ + 263-1
float4字节32位浮点数1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38
double8字节64位浮点数4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308
变量声明及使用(不能重复;未赋值无法输出)

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

数据类型    变量名;
int money;

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

变量名 = 数值;
money = 1000;

第一步和第二步可以合并

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

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

public static void main(String[ ] args){
            int money = 1000;
            //输出消息到控制台
            System.out.println(money);
}
八大数据类型和引用数据类型
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";//字符串类型(注意S大写):使用双引号
}

3、常量(其值不能改变)【final】

优点:比较安全

推荐做法: (1)常量名通常大写 (2)不同字符使用下划线分隔 (3)只能被赋值一次,通常定义时即对其初始化

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

4、Scanner的使用(如何接受用户键盘输入的值)

第一步:导入Scanner类

import java.util.*;

第二步:创建Scanner对象

Scanner input = new Scanner(System.in);

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

int now = input.nextInt();

5、数据类型转换

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

自动类型转换规则(小转大)

规则1:如果一个操作数为double型,则整个表达式可提升为double型 规则2:满足自动类型转换的条件 两种类型要兼容:数值类型(整型和浮点型)互相兼容 目标类型大于源类型: 例如:double 型大于 int 型

强制类型转换规则(大转小)

int b = (int)10.2;
double a = 10;
int c = (int)a;//a被强制转换为int

赋值运算符的应用

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

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

6、算数运算符

赋值运算符: =

基本的算术运算

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

复合算术运算符

=、*=、/=、%=

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

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

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

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

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

逻辑运算符
运算符含义运算规则
&&短路与两个操作数都是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);//false 9
// && 只要有一个结果为false 最终结果就为false 否则为true
// || 只要有一个结果为true 最终结果就为true 否则为false
// ! 非 取反值
条件运算符

也称为:三目(三元)运算符

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);
运算符优先级

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

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

3、可以通过()控制表达式的运算顺序,()优先级最高

4、从右向左结合性的只有赋值运算符、三目运算符和单目运算符

5、算术运算符 > 关系运算符 > 逻辑运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值