java数据类型与运算符

本文详细介绍了Java编程中的基本概念,包括变量的命名规则、数据类型(数值型与非数值型)、常量的声明、数据类型转换、运算符的使用(赋值、算术、关系、逻辑等)以及Scanner类的键盘输入操作。此外,还讨论了变量声明、赋值和使用的基本步骤,以及常量的定义和命名规范。内容涵盖了Java初学者需要掌握的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据类型与运算符
变量
变量的命名
变量:一个命名的存储空间
命名规则:
1、变量命名可以使用字母、下划线、美元符号、人民币符号、数字中的一种或多种,不能使用其他符号。

2、数字不能作为命名的开头,但字母、下划线、美元符号和人民币符号可以作为开头。

3、不能使用关键字作为变量命名,如public、class等带特殊颜色的单词。

规范:
1、驼峰命名法。变量命名由多个单词组成的,第一个单词首字母小写,后面其他单词的首字母大写。

2、变量命名要有意义,让人容易辨别出变量的含义。

3、变量命名首字母不要大写。

Java注释
用于在代码中进行说明,不会在程序中输出。

分为单行注释、多行注释、JavaDoc注释。

1、单行注释以"//"开始

2、多行注释以"/*“开头,以” */"结尾,通常写在方法上面

3、JavaDoc注释,以"/**“开头,以” */"结尾,通常写在类上面,结构与多行注释类似。

数据类型
Java中常用的数据类型大致可以分为两大类:数值型 与非数值型。

其中,数值型包括整型和浮点型。我们常用的整型有byte、short、int、long;常用的浮点型有float、double;非数值型里包括单字符char、布尔型boolean、以及字符串String。

在这里插入图片描述
在这里插入图片描述

我们将byte、short、int、long、float、double、char、boolean归为基本数据类型,而String不属于基本数据类型,而是引用数据类型。

我们在写代码的时候,整型的数据通常默认为int类型,超过int类型取值范围的,必须在整数后面加大写的英文单词"L",才能作为long类型处理。

例如:long num = 2147483648L;

浮点数默认数据类型为double类型。如果要声明一个float类型的变量,在赋值的时候需要在数值后面加上大写或小写的“F”,否则会在编译的时候报错。

例如:float num = 5.6f;

非数值型在赋值的时候与数值型不同,其中

字符型char在赋值时,赋值符号右边的数据需要用单引号 ‘ ’ ,

例如:char sex = ‘男’;

字符串String在赋值时,赋值符号右边的数据需要用双引号 " ",

例如:String name = “张三”;

布尔型boolean的值只有两种,true和false。

变量声明及使用
Java中的变量就是在程序运行中,其值可以改变的量,它是一个数据存储空间的表示。

Java中变量声明及使用的步骤如下:

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

格式:数据类型 变量名; eg:int money;

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

格式:变量名 = 数值; eg: money =100;

第一步与第二步可以合并

格式: 数据类型 变量名 = 数值; eg: int money = 100;

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

常量
Java中的常量是指在程序运行中值不能改变的量。常量的声明与赋值过程和变量相似,只是在声明变量的前面加上了final关键字,并且常量只能赋值一次,之后不能再对其进行重新赋值。

例如:final double PI = 3.14;

常量命名的规则与变量相同,但是在规范上有些不同:

1、常量名通常大写,而变量名通常小写,用以方便区分。

2、常量名由多个单词组成的,不同字符使用下划线分隔。

如:MAX_NUM

数据类型转换
Java中不同的基本数据类型之间进行运算时,需要进行类型转换。Java中的数据类型转换可以分为自动类型转换和强制类型转换两种。

自动数据类型转换
将低精度的数据类型赋值给高精度的数据类型,系统将自动进行类型转换,但两种数据类型要互相兼容才可进行转换。数据类型转换通常是在数值型的数据类型之间进行转换,因为在数值型中,double类型的精度最高,所以当表达式中有一个值为double的时候,整个运算结果提升为double类型。

例如:int a = 7;

double b = 3.5;

double c = a+b;

强制数据类型转换
将高精度的数据类型赋值给低精度的数据类型时,必须进行强制类型转换。在Java中,通常使用一对小括号里加上目标数据类型来对源类型进行转换。

例如: double a =3.5;

int b = (int)a;

在进行强制数据类型转换的时候,因为把高精度的数据类型转换为低精度的数据类型,所以在转换的过程中,可能会损失数据的精度。浮点型转换为整型时,将丢失小数点后面的小数部分。

Scanner类的使用
在程序运行中,如果想要在控制台接收用户键盘输入的数据,就可以用到Scanner类。在JDK1.5版本的时候引入了Scanner类,我们在代码中使用Scanner类,可以分为三个步骤:

1、导入Scanner类

import java.util.*;

2、创建Scanner对象

Scanner input = new Scanner(System.in);

3、获得键盘输入的数据

int now = input.nextInt();

根据获取的数据类型不同,Scanner获取数据的方法有以下几种常用方式(可在JAVA帮助文档中查阅Scanner的方法):

String name = input.next();

String sex = input.next();

int age = input.nextInt();

double score = input.nextDouble();

在获取的数据为字符串时,通常用input.next();在获取的数据为其他基本数据类型时,通常用input.next<基本数据类型>(),但Scanner不能获取char类型的数据。
在这里插入图片描述
常用运算符
1、赋值运算符
赋值运算符”=“用于给变量接收数值。

如:int a = 5;

赋值运算符”=“在表达式中的优先级最低。

2、算数运算符
包括 + 、- 、 * 、/ 、%、++、–

运算符 含义 范例 结果

  • 加法运算符 5+3 8
  • 减法运算符 5-3 2
  • 乘法运算符 5*3 15
    / 除法运算符 5/3 1
    % 取余运算符 5%3 2
    ++ 自增运算符 i=3, j = i++ i=4; j=3
    i=3, j = ++i i=4; j=4
    – 自减运算符 i=3, j = i– i=2; j=3
    i=3, j = --i i=2; j=2
    ++和–在实际使用中,根据放在数值前面或者后面,结果会有所不同。++或 – 在数值前面时,先对数值进行自增或者自减,再与其他数值进行运算;++ 或 – 在数值后面时,先将数值与其他数值进行运算,再对数值进行自增或者自减。

3、复合算数运算符(复合赋值运算符)
赋值运算符与算术运算符相结合,组成复合赋值运算符。主要包括 += 、 -= 、 *= 、 /= 、%= 。

num1 +=2; 相当于 num1 = num1 + 2;

num1 *=2; 相当于 num1 = num1 * 2;

其他同理。

4、关系运算符
用来比较两个变量或者常量的大小,运算结果时布尔值true 或 false。主要包括 ==、!= 、>、<、>=、<=

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

大于 5>6 false
< 小于 5<6 true
= 大于等于 5>=6 false
<= 小于等于 5<=6 true
要注意的是,”=“为赋值运算符,"=="才是等于关系运算符。

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

、<、>=、<= 运算符只支持数值类型的数据比较,==、!=支持所有数据类型的比较,包括数值类型、布尔类型、引用类型。

5、逻辑运算符
逻辑运算符用于对两个布尔型操作数进行运算,其结果还是布尔值。主要包括&&、||、&、|、!

运算符 含义 运算规则
&& 短路与 两个操作数都是true,结果才是true;左边操作数能确定结果时,不运算右边的操作数
|| 短路或 两个操作数其中有一个是true,结果就是true;左边操作数能确定结果时,不运算右边的操作数
& 逻辑与 两个操作数都是true,结果才是true;左边操作数能确定结果时,也会运算右边的操作数
| 逻辑或 两个操作数其中有一个是true,结果就是true;左边操作数能确定结果时,也会运算右边的操作数
! 非 操作数为true,结果为false;操作数为false,结果为true;
1、&和&&;|和||之间的唯一区别就在于,左边操作数能确定表达式结果的情况下,&&和||不会运算右边的操作数,而&和|则会继续运算右边的操作数。

2、优先级别:! > && >||

6、条件运算符
也称三目(三元)运算符。

条件运算符的语法格式如下:

条件 ? 表达式1 : 表达式2

首先对条件进行判断,如果判断为true,则返回表达式1的值,如果判断为false,则返回表达式2的值。

例如: int min;

min = 5<7 ? 5 : 7; //此时min获得的值为5

min = 10<7 ? 10 : 7; //此时min获得的值为7

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

2、优先级别最低的是赋值运算符,其次是条件运算符。

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

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

例如: int min;

min = 5<7 ? 5 : 7; //此时min获得的值为5

min = 10<7 ? 10 : 7; //此时min获得的值为7

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

2、优先级别最低的是赋值运算符,其次是条件运算符。

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

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

5、总体而言,优先顺序为算数运算符 > 关系运算符 > 逻辑运算符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值