【JavaSE】数据类型和运算符

这篇具有很好参考价值的文章主要介绍了【JavaSE】数据类型和运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

从这一篇我们开始Java的学习~

【JavaSE】数据类型和运算符,java,开发语言

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~


目录

前言

Java第一个程序

字面常量

字面常量的分类

结合代码理解

类型转换

类型提升

 byte与byte的运算

正确写法

字符串类型String

int与String相互转换

int转String

String转int

算术运算符

加减乘除模(+ - * / %)

+加

/ 除

%取余

小数也可以%

增量运算符 +=  -=  *=  %=

自增/自减运算符 ++ --

关系运算符 == != < > =

逻辑运算符&&  ||   !

逻辑与&&

逻辑或||

逻辑非!

短路

位运算符

按位与&

按位与|

按位取反 ~

按位异或

条件运算符

移位运算


Java第一个程序

public class Helloworld {   
 //快捷键main 或者首字母psvm创建main方法
    public static void main(String[] args) {
       System.out.println("Hello world!");//快捷键sout
    }
}

java按类,方法,语句逐级来写

public class Helloworld是类,public static void main(String[] args)是main方法(相当于C语言的main函数,是程序的入口,快捷键是main回车),System.out.println("hello world!");是语句,(相当于C语言的printf函数,意为格式化打印Hello world!,快捷键是sout)

其中一个java文件中只能有一个public修饰的类

字面常量

常量即程序运行期间,固定不变的量

字面常量的分类

1. 字符串常量:由""括起来的,比如“12345”、“hello”、“你好”。

2. 整形常量:程序中直接写的数字(注意没有小数点),比如:100、1000

3. 浮点数常量:程序中直接写的小数,比如:3.14、0.49

4. 字符常量:由 单引号 括起来的单个字符,比如:‘A’、‘1’

5. 布尔常量:只有两种true和false

6. 空常量:null

在Java中数据类型主要分为两类:基本数据类型引用数据类型。 基本数据类型有四类八种: 1. 四类:整型、浮点型、字符型以及布尔型

【JavaSE】数据类型和运算符,java,开发语言

【JavaSE】数据类型和运算符,java,开发语言

结合代码理解

public class Helloworld {
    public static void main(String[] args) {

        //整形
        //int类型不管在多少位的机器上都是4字节
        //Integer是包装类,简单理解为int类型的plus版本
        System.out.println(Integer.MAX_VALUE);//输出int最大值2147483647
        System.out.println(Integer.MIN_VALUE);//输出int最小值-2147483648

        //局部变量 没有初始化会报错
        //java会检查字面值 超过会报错
        int c=2147483647;//int类型范围2^31~2^31-1
        int d=c+1;
        System.out.println(d);

        //长整形
        long x=10L;//long类型的范围2^63~2^63-1,后面加上L(不建议l),表示当前10是long类型
        //8字节 64bit
        //Long是包装类,简单理解为long类型的plus版本
        System.out.println(Long.MAX_VALUE);//输出long最大值9223372036854775807
        System.out.println(Long.MIN_VALUE);//输出long最小值-9223372036854775808

        //短整型short
        /*
        * 2个字节  -2^15~2^15-1
        *  */
        short s=10;
        System.out.println(s);
        System.out.println(Short.MAX_VALUE);//32767
        System.out.println(Short.MIN_VALUE);//-32768

        //byte  1个字节   -128~127
        byte b=100;
        System.out.println(b);
        System.out.println(Byte.MAX_VALUE);//127
        System.out.println(Byte.MIN_VALUE);//128

        //字符型char  2字节
        //unicode字符集  包含了阿拉伯文,汉字,ASCII表等
        char ch='逸';
        char ch1=97;//可以给值正整数,输出ASCII对应字符a
        System.out.println(ch1);
        //包装类型是Character

        //单精度浮点型float,4字节
        float f=12.5f;//要加上f,否则会被认为是double类型的数据,报错
        System.out.println(f);

        //双精度浮点型double  8个字节(在任何系统都是)
        //在内存中存储与整形不同,也遵循IEEE754标准,所以浮点数是近似值,不是精确值
        double num=1.1;
        System.out.println(num*num);//输出1.2100000000000002
        //包装类型是Double

        //布尔类型 没有明确的大小,不能和其他类型的值相互转换,不存在1真0假
        boolean flg=true;
        System.out.println(flg);
        //包装类型是Boolean

    }
}

其中包装类型 是基本数据对应的类 类型

类型转换

代码不需要经过任何处理,在代码编译时,编译器会自动进行处理。

特点:数据范围小的转为数 据范围大的时会自动进行。

int a=10;//4
long b=100L;//8
//b=a 可以通过编译 编译器自动类型提升
//a=b 会报错,需要强制类型转换,a=(int)b,缺点:可能会有数据丢失
//不相干类型的数据不能相互转换

类型提升

 byte与byte的运算

byte a = 10;
byte b = 20;
byte c = a + b;
System.out.println(c);

byte 和 byte 都是相同类型, 但是出现编译报错. 原因是, 虽然 a 和 b 都是 byte, 但是计算 a + b 会先将 a 和 b 都提升成 int, 计算结果也是 int, 赋给 c, 就会出现上述错误. 由于计算机的 CPU 通常是按照 4 个字节为单位从内存中读写数据. 为了硬件上实现方便, 诸如 byte 和 short 这种低于 4 个字节的类型, 会先提升成 int, 再参与计算.

正确写法

byte a = 10;
byte b = 20;
byte c = (byte)(a + b);
System.out.println(c);

字符串类型String

String不是包装类型,是引用数据类型

    public static void main(String[] args) {
        String str1="Hello ";
        String str2="world!";
        //+意为拼接
        String str3=str1+str2;
        System.out.println(str3);
    }

int与String相互转换

int转String

int num = 10;
// 方法1
String str1 = num + "";  
// 方法2
String str2 = String.valueOf(num);

String转int

其中被转换的数字必须是合法的数字字符串,比如“100a200"就不行

String str = "100";
int num = Integer.parseInt(str);

算术运算符

加减乘除模(+ - * / %)

+加

两侧操作数类型不一致时,向类型大的提升

System.out.println(1+0.2);   // +的左侧是int,右侧是double,在加之前int被提升为double
                             // 故:输出1.2

/ 除

做除法和取模时,右操作数不能为0

    public static void main(String[] args) {
        System.out.println(5/2);//2
        System.out.println(5.0/2);//2.5
        System.out.println(5/0);//报错
        System.out.println(5.0/0);//Infinity
    }

%取余

    public static void main(String[] args) {
        System.out.println(9%2);//1
        System.out.println(9%-2);//1
        System.out.println(-9%2);//-1
        System.out.println(-9%-2);//-1
    }

小数也可以%

System.out.println(11.5%2);//1.5

增量运算符 +=  -=  *=  %=

例如+=,其他以此类推

int a = 1;
a += 2;                  // 相当于 a = a + 2
System.out.println(a);   // 输出3

自增/自减运算符 ++ --

++是给变量的值+1,--是给变量的值-1。

分前置和后置,

以++举例,比如b=++a (前置),表示a先+1,再赋值给b

而b=a++(后置),表示先赋值给b,a再+1

关系运算符 == != < > =

其计算结果是 true 或者 false

int a = 10;
int b = 20;
System.out.println(a == b);       // false
System.out.println(a != b);       // true
System.out.println(a < b);        // true
System.out.println(a > b);        // false
System.out.println(a <= b);       // true
System.out.println(a >= b);       // false

逻辑运算符&&  ||   !

运算结果都是 boolean类型,表达式必须是boolean类型的结果。

逻辑与&&

表达式1 && 表达式2

有一个为假,表达式为假

逻辑或||

表达式1 || 表达式2

有一个为真,表达式为真

逻辑非!

!表达式

假变真,真变假

短路

第一个表达式成立,就不会执行第二个表达式

System.out.println(10 > 20 && 10 / 0 == 0);             // 打印 false
System.out.println(10 < 20 || 10 / 0 == 0);             // 打印 true

位运算符

按位与&

有0则为0,可理解为乘法

【JavaSE】数据类型和运算符,java,开发语言

按位与|

有1则为1,可理解为加法

【JavaSE】数据类型和运算符,java,开发语言

按位取反 ~

1变0,0变1

按位异或

同为0,异为1

条件运算符

条件运算符只有一个: 表达式1 ? 表达式2 : 表达式3 

表达式1 的值为真 时, 整个表达式的值为 表达式2 的值

为假,则表达式3

// 求两个整数的最大值
int a = 10;
int b = 20;
int max = a > b ? a : b;

移位运算

位运算的 速度 比普通的加减乘除更快

1. 左移<< 最左侧位去掉, 最右侧补 0,相当于乘法

2. 右移 >>最右侧位去掉, 最左侧补 符号位,相当于除法

3.无符号右移>>>最右侧位去掉, 最左侧补0文章来源地址https://www.toymoban.com/news/detail-843952.html

到了这里,关于【JavaSE】数据类型和运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JAVASE】带你了解运算符奥秘(Java全部运算符)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 熟练掌握各种运算符 废话不多说,我们直接开始。 基本四则运算符:加减乘除模 (+ - * / %) qt和c语言一样,但是取模运算符一点不同。 说明什么, 取模运

    2024年04月17日
    浏览(68)
  • VHDL语言基础-数据类型及运算符

    目录 VHDL的数据类型: VHDL中定义的10种标准数据类型: 约束区间说明: 用户自定义数据类型: 使用格式: 常用的用户自定义类型: 枚举类型: 子类型SUBTYPE: 整数类型和实数类型: 数组类型: 记录类型: 数据类型转换: VHDL的运算符:  运算符的优先级: 注意:字符要区

    2024年02月09日
    浏览(66)
  • JAVA——数据类型与运算符

    注意事项: 1.初始化操作是可选的, 但是建议创建变量的时候都显式初始化.                   2. 最后不要忘记分号, 否则会编译失败.                   3.初始化设定的值为 10L , 表示一个长整型的数字. 10l 也可以.                   4.float 类型在 Java 中占四个字节, 遵守

    2024年01月19日
    浏览(73)
  • Java数据类型,变量与运算符

    常量是在程序运行期间,固定不变的量称为常量。 在以上程序中,输出的Hello Word,其中的“Hello Word”就是字面常量。 字面常量的分类: 字符串常量 整形常量 浮点数常量 字符常量 布尔常量 空常量 注意:字符串,整形,浮点型,字符型以及布尔型,在Java中都称为数据类型

    2024年02月08日
    浏览(57)
  • 初识Java:数据类型与变量、运算符

    哈喽大家好,这篇文章我将为大家分享关于Java的数据类型与变量和运算符。 在Java中数据类型分为基本数据类型与引用数据类型,今天我们着重讲解基本数据类型。 基本数据类型又分为整型、浮点型、字符型以及布尔类型,我们来看下面的一张表。 整型类型 byte类型 byte类型

    2024年02月01日
    浏览(85)
  • 【JavaSE】一篇文章领悟Java运算符

    前言: 作者简介: 爱吃大白菜1132 人生格言:纸上得来终觉浅,绝知此事要躬行   如果文章知识点有错误的地方不吝赐教,和大家一起学习,一起进步!   如果觉得博主文章还不错的话,希望三连支持! 目录 什么是运算符  1.算数运算符  基本四则运算符:加减乘除模(+ -

    2024年02月08日
    浏览(52)
  • 【 Python 全栈开发 ⑤ 】Python 数据类型与运算符

    Python 中一共有 6 种基本数据类型,他们是: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) 在这6个基本数据类型中, 不可变数据 有3个: Number(数字) String(字符串) Tuple(元组) 可变数据 有3个: List(列表) Set(集合) Dictiona

    2024年02月02日
    浏览(50)
  • 〔002〕Java 基础之语法、数据类型、进制转换、运算符

    注释: 是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的 注释分为 单行注释 和 多行注释 ,注释的内容并不会被编译,所以 不会影响 代码的运行 单行注释通过 // 进行标注,只能注释一行 多行注释通过 /* 注释内容 */ 进行标注,可以注释多

    2024年02月05日
    浏览(81)
  • 【JAVA】数据类型,类型转换与提升,运算符,标识符命名规则

    🍉内容专 栏:【JAVA从0到入门】 🍉本文脉络:数据类型,类型转换与提升,运算符,标识符命名规则 🍉本文作者:Melon_西西 🍉发布时间 :2023.7.12 目录  1. 字面常量 2. 数据类型:四类八种  3.类型转换 3.1 自动类型转换(隐式) 自动类型转换: 3.2 强制类型转换(显式) 强制类

    2024年02月15日
    浏览(48)
  • 图灵日记之java奇妙历险记--数据类型与变量&&运算符

    看下面这个栗子,宝子们 输出的\\\"cheer up!!!\\\"就是字面变量 字面常量的值在程序的整个生命周期中是不变的 字面常量的分类: 字符串常量 整形常量 浮点数常量 字符常量 布尔常量:只有两种true和false 空常量 注意:字符串,整形,浮点型,字符型以及布尔型,在java中都被叫作数据类型

    2024年02月04日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包