Java零基础教程专栏——数据类型

简介: 数据类型的分类引用数据类型(除基本数据类型之外的,如String )基本数据类型:4大类8种。第 1 类:整数型(不带小数的数字):byte,short,int,long第 2 类:浮点型(带小数的数字):float,double第 3 类:字符型(文字,单个字符):char第 4 类:布尔型(真和假):boolean

数据类型

46a0dbb514f14fa4963e91918411506d.png

数据类型的分类

引用数据类型(除基本数据类型之外的,如String )

基本数据类型:4大类8种。

第 1 类:整数型(不带小数的数字):byte,short,int,long

第 2 类:浮点型(带小数的数字):float,double

第 3 类:字符型(文字,单个字符):char

第 4 类:布尔型(真和假):boolean

格式:数据类型 变量名称 = 初始值;

    byte a = 1;
        short a =1;
        int a =1;
        char a ="a";
        float a =1.1;
        double a =1.1;
        long a =1;
        booleana =true;

5bf17f747a82495688ec59b3d76159e1.png

注:1字节数(1B)=8比特(8bit)

byte 1B  (8位) (8bit)
short 2B (16位)(16bit)
int 4B   (32位)(32bit)
char 2B  (16位)(16bit)
float 4B (32位)(32bit)
double 8B(64位)(64bit)
long 8B  (64位)(64bit)
boolean 1B(8位)(8bit)
//char可以赋值给int,赋的是ASCII码

自动类型转换:

  • 在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算。
  • 类型范围小的变量,可以直接赋值给类型范围大的变量
  • byte short char是直接转换成int类型参与运算的。

强制类型转换

可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

数据类型 变量2 = (数据类型)变量1、数据

int a = 20;
byte b =  (byte)a; 

注意事项

  • 强制类型转换可能造成数据(丢失)溢出;
  • 浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
  • 强制类型转换是可以强行将类型范围大的变量、数据赋值给类型范围小的变量。

强制类型转换有哪些需要注意的?

  • 可能出现数据丢失。
  • 小数强制转换成整数是直接截断小数保留整数

运算符

运算符:对字面量或者变量进行操作的符号。

算术运算符

符号 作用 说明
+
-
*
/ 与“÷”相同,注意:在Java中两个整数相除结果还是整数。
% 取余 获取的是两个数据做除法的余数

注意:如果两个整数做除法,其结果一定是整数,因为最高类型是整数

+符号做连接符的识别

public static void main(String[] args) {
    int a = 5 ;
    System.out.println("abc" + 'a'); // abca
    System.out.println("abc" + a);   // abc5
    System.out.println(5 + a); // 10
    System.out.println("abc" + 5 + 'a'); // abc5a
    System.out.println(15 + "abc" + 15); // 15abc15
    System.out.println(a + 'a'); // 102
    System.out.println(a + "" +'a'); // 5a
    System.out.println(a + 'a'+" itheima "); // 102 itheima
    System.out.println("itheima"+ a + 'a'); // itheima5a
    System.out.println("itheima"+ ( a + 'a' ));// itheima102
}

image.png

自增、自减运算符

符号 作用 说明
++ 自增 变量自身的值加1
自减 变量自身的值减1
// 在表达式中或者不是单独操作的情况,++ -- 在变量前后存在区别
// ++ -- 在变量前面。先+1 -1 再使用。
int i = 10;
int j = ++i;
System.out.println(i); // 11
System.out.println(j); // 11
// ++ -- 在变量的后面 先使用再+1 -1
int m = 10;
int n = m++;
System.out.println(m); // 11
 System.out.println(n); // 10

image.png

自增、自减运算符是什么,有什么作用,需要注意什么?


++、–。对当前变量值+1、-1


只能操作变量,不能操作字面量


自增、自减运算符在变量前后有区别吗?


如果单独使用放前后是没有区别的。

非单独使用:在变量前 ,先进行变量自增/自减,再使用变量。

非单独使用:在变量后 ,先使用变量,再进行变量自增/自减

赋值运算符

就是"="。

int a = 10;  // 先看“=”右边,把数据10赋值给左边的变量a存储。

扩展赋值运算符

符号 作用 说明
+= 加后赋值 a+=b 等价于 a = (a的数据类型)(a+b); 将a + b的值给a
-= 减后赋值 a-=b 等价于 a = (a的数据类型)(a-b); 将a - b的值给a
*= 乘后赋值 a*=b 等价于 a = (a的数据类型)(a*b); 将a ***** b的值给a
/= 除后赋值 a/=b 等价于 a = (a的数据类型)(a/b); 将a / b的商给a
%= 取余后赋值 a%=b 等价于 a = (a的数据类型)(a%b); 将a % b的商给a

注意:扩展的赋值运算符隐含了强制类型转换。

关系运算符

是对数据进行条件判断的符号,最终会返回一个比较的布尔结果(false,true)

符号 说明
== a==b,判断a和b的值是否相等,成立为true,不成立为false
!= a!=b,判断a和b的值是否不相等,成立为true,不成立为false
> a>b, 判断a是否大于b,成立为true,不成立为false
>= a>=b,判断a是否大于等于b,成立为true,不成立为false
< a<b, 判断a是否小于b,成立为true,不成立为false
<= a<=b,判断a是否小于等于b,成立为true,不成立为false

注意:在做相等判断是,千万不要把 == 误写成 =

逻辑运算符

可以把多个条件的布尔结果放在一起运算,最终返回一个布尔结果。

符号 介绍 说明
& 逻辑与 必须都是true,结果才是true; 只要有一个是false,结果一定是false。
| 逻辑或 只要有一个为true、结果就是true
逻辑非 你真我假、你假我真。 !true=false 、 !false= true
^ 逻辑异或 如果两个条件都是false或者都是true则结果是false。两个条件不同结果是true。
    double A = 9;
        double B = 6;
        // 需求:A大于等于6.5 B要大于等于8
        // 注意:必须前后都是true结果才是true
        System.out.println("------- 与:& --------");
        System.out.println(A >= 6.5 & B >=8);
        // 需求:要么A大于等于8 要么B大于等于6.5
        // 注意:只要有一个是true 结果就一定是true
        System.out.println("------- 或:| --------");
        System.out.println(A >= 6.5 | B >=8);
        System.out.println("------- 非:! --------");
        System.out.println(!true);
        System.out.println(!false);
        // 逻辑异或:必须两个不同结果才是true
        System.out.println("-------异或:^ --------");
        System.out.println(false ^ true); // true
        System.out.println(true ^ false); // true
        System.out.println(true ^ true); // false
        System.out.println(false ^ false); // false

b96186348d6d431999396f79ab701c2c.png

短路逻辑运算符

符号 介绍 说明
&& 短路与 判断结果与“&”一样。过程是左边为false**,右边则不执行。**
|| 短路或 判断结果与“|”一样。过程是左边为true**, 右边则不执行。**

注意:逻辑与 “&” 、逻辑或“|”: 无论左边是 false还是 true,右边都要执行。

    System.out.println("-----------&&  &  || |的区别-------------------");
        int a = 10;
        int b = 20;
        // System.out.println(a > 100 && ++b > 10);
        System.out.println(a > 100 & ++b > 10);
        System.out.println(b);
        int i = 10;
        int j = 20;
        //System.out.println(i > 2 || ++j > 10);
        System.out.println(i > 2 | ++j > 10);
        System.out.println(j);


7aef5cddc99e499e9c1b79c612fdd6db.png

逻辑运算符有哪些,有什么特点?


逻辑与“&” :有一个为false、结果是false

短路与&&: 一个为false、结果是false。前一个为false,后一个条件不执行了

逻辑或“|”:有一个为true、结果是true

短路或||:一个为true、结果是true。前一个为true,后一个条件不执行了

逻辑非“!”:!false=true、 !true=false

逻辑异或“^” :相同是false、不同是true。

注意:实际开发中、常用的逻辑运算符还是:&& 、 || 、 !

三元运算符

格式:条件表达式 ? 值1 : 值2;

执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。

案例-求三个整数的最大值

需求:定义三个整数,找出最大值并打印在控制台。

分析:

  • 用三元运算符获取前两个整数的最大值,并用临时变量保存起来。
    num1 > num2 ? num1 : num2;
  • 用三元运算符,让临时最大值,和第三个整数,进行比较,并记录结果。
    temp > num3 ? temp : num3;
  • 输出结果
int num1 = 10;int num2 = 30;int num3 = 20;
int temp = (num1 > num2) ? num1 : num2;
max = (temp > num3) ? temp : num3;
或者
int max = ((num1 > num2 ? num1 : num2) > num3) ? (num1 > num2 ? num1 : num2) : num3;(建议不用这种)
System.out.println(max);

运算符优先级

7b48d2f982b24db88c314e24e619badf.png

相关文章
|
4天前
|
前端开发 Java Maven
【前端学java】全网最详细的maven安装与IDEA集成教程!
【8月更文挑战第12天】全网最详细的maven安装与IDEA集成教程!
18 2
【前端学java】全网最详细的maven安装与IDEA集成教程!
|
10天前
|
存储 Java 测试技术
Java零基础教学(08):基本数据类型和取值范围
【8月更文挑战第8天】Java零基础教学篇,手把手实践教学!
17 5
Java零基础教学(08):基本数据类型和取值范围
|
9天前
|
存储 网络协议 Oracle
java教程
java教程【8月更文挑战第11天】
14 5
|
10天前
|
存储 Java 测试技术
Java零基础(9) - 聊聊基本数据类型取值范围
【8月更文挑战第9天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
17 5
|
11天前
|
存储 Java 测试技术
Java零基础(8) - 谈谈基本数据类型
【8月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
28 6
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(下)
02 Java基础语法(变量+数据类型+运算符)
16 5
|
11天前
|
存储 Java
02 Java基础语法(变量+数据类型+运算符)(上)
02 Java基础语法(变量+数据类型+运算符)
30 4
WXM
|
24天前
|
Oracle Java 关系型数据库
Java JDK下载安装及环境配置超详细图文教程
Java JDK下载安装及环境配置超详细图文教程
WXM
128 3
|
6天前
|
Java C#
C# 和 java 基本数据类型
C# 和 java 基本数据类型
5 0
|
1月前
|
分布式计算 Java 调度
MaxCompute产品使用合集之使用Tunnel Java SDK上传BINARY数据类型时,应该使用什么作为数据类字节
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。