【JAVA入门】Day02 - 数据类型、标识符、运算符

【JAVA入门】Day02 - 数据类型、标识符、运算符



一、数据类型

Java中的数据类型如下表所示:
在这里插入图片描述

1.1 整数类型

在定义整数类型数据时,一定要注意他们各自的取值范围,byte只能取 -128 ~ 127,short只能取 -32768 ~ 32767,int 可以取10位数,long 可以取19位数。
值得注意的是,在定义long型数据时,数字后面要加个 L 或者 l 作为后缀,一般建议用大写字母。

        //bytle
        byte b = 10;
        System.out.println(b);
        //short
        short s = 20;
        System.out.println(s);
        //int
        int i = 128;
        System.out.println(i);
        //long
        long n = 9999999999L;
        System.out.println(n);

1.2 小数类型

在定义小数时,为了区分 float 和 double ,定义 float 类型变量时要在数据值后加一个 F 或 f 作为后缀,定义 double 就不需要了。

 		//float
        float f = 1.23F;
        System.out.println(f);

        //double
        double d = 9.999;
        System.out.println(d);

1.3 字符类型

字符类型就是 char 类型,单个字符。

		//char
		char c = '中';
		System.out.println(c);

1.4 布尔类型

布尔类型就是逻辑类型,只有 true 和 false 两种值。

		//boolean
		boolean o = true;
		System.out.println(o);

1.5 整数和小数取值范围大小关系:

double > float > long > int > short > byte

二、标识符

标识符就是给类、方法、变量等起的名字。
在Java代码当中,我们起名不能随便起,需要遵守一些标识符命名规则。有些规则要求是硬性的,不这样做不行,有些是软性建议的。

2.1 硬性要求

  • 由数字、字母、下划线(_)和美元符号($)组成,其他字符都不能出现。
  • 不能以数字开头。
  • 不能是关键字。

2.2 软性建议

软性建议是为了让你的代码更容易阅读而设立的规范。

  • 小驼峰命名法: 方法、变量
    规范1:标识符是一个单词的时候,全部小写。
    name
    规范2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写。
    firstName
  • 大驼峰命名法: 类名
    规范1:标识符是一个单词的时候,首字母大写。
    Student
    规范2:标识符由多个单词组成的时候,每个单词的首字母大写。
    GoodStudent
  • 所有标识符命名一定要记住——见名知意。

三、键盘录入

关于键盘录入,Java 帮我们写好了一个类叫 Scanner ,这个类就可以接收键盘输入。我们要使用它,需要:

  • 步骤一:导包 —— Scanner 这个类在哪。
import java.util.Scanner;
  • 步骤二:创建对象 —— 表示我要开始使用这个类了。
Scanner sc = new Scanner(System.in);
  • 步骤三:接收数据。
int i = sc.nextInt();

四、运算符和表达式

运算符就是对字面量或者变量进行操作的符号,表达式就是用运算符把字面量或者变量连接起来,符合 Java 语法的式子。

int c = a + b;
  • “+” 是运算符
  • “a+b”是表达式

4.1 算术运算符

算术运算符就是加减乘除和取余数。
在这里插入图片描述
其中除法有细节,用整数除以整数是只能得到整数的(存在四舍五入),想要得到小数,就要用小数做除数或被除数。

10 / 3
10.0 / 3

取余运算实际上也是做除法运算,只不过得到的是余数。

【练习1】数值拆分:

键盘录入一个三位数,将其拆分为个位、十位、百位,打印在控制台。

Scanner sc = new Scanner(System.in);
       int i = sc.nextInt();
       //百位
        System.out.println(i / 100);
        //十位
        System.out.println(i / 10 % 10);
        //个位
        System.out.println(i % 10);

4.1.1 加法的用法

加法有三种用法:

  • 数字相加
  • 字符串相加
  • 字符相加
1.数字相加:

以一道例题为起点:

public class Test{
	public static void main(String[] args){
		int a = 10;
		double b = 12.3;
		c = a + b;
	}
}

请问 c 是什么类型?
不同类型的变量相加,会自动转成一样的类型,才能运算。

  • 隐式转换(自动类型提升):
  • 把一个取值范围小的数值,转成范围大的数据,当你用 int 和 double 的数值相加时,double 比 int 取值范围大,所以 int 会被程序自动转成 double ,然后得到一个 double 的结果。
  • 使用 byte short char 三种类型的数据在运算的时候,都会直接先提升为 int ,然后再进行运算。也就是说即使 byte a 加上 byte b ,也会自动转成 int 型的结果。
  • 数据类型取值范围如下:
byte < short < int < long < float < double
  • 显式转换(强制转换):
  • 强制转换需要自己编写代码了。格式:
    目标数据类型 变量名 = (目标数据类型)被强转的数据;
double a = 12.3;
int b = (int)a;
  • 注意:如果数据比较大,强转时可能会溢出。比如 int 类型你强制转成 byte,超过128就出错了。

【练习2】强制转换。

byte b1 = 10;
byte b2 = 20;
byte c = (byte)(b1 + b2);
2.字符串相加:

当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符了。它会将前后的数据进行拼接,产生一个新的字符串。

  • 当进行“+”操作时,从左到右逐个执行。
1 + 99 + "昏"

结果是:

100昏

【练习3】字符串相加:

System.out.println(3.7 + "abc");

结果:

3.7abc

【练习4】字符串相加:

System.out.println("abc" + true);

结果:

abctrue

【练习5】字符串相加:

int age = 18;
System.out.println("我的年龄是" + age + "岁"

结果:

我的年龄是18岁

【练习6】字符串相加:

System.out.println(1 + 2 + "abc" + 2 + 1);

结果:

3abc21

3.字符相加

char 类型的字符相加,会先转成 int 再得到值。
字符加字符,或者字符加数字时,会把字符通过ASCII码表查询找到对应的数字再进行计算。

  • 在ASCII码表中,小写的 a 对应的是 97 ,大写的 A 对应的是 65 。

【练习7】字符相加:

System.out.println(1 + 'a');
System.out.println('a' + "abc");

结果:

98
aabc

4.2 自增自减运算符:

自增运算符就是 ++ ,代表变量值加1;
自减运算符就是 – – ,代表变量值减1。
它们既可以写在变量前面,也可以放在变量后面。

int a = 10;
++a;
System.out.println(a);

结果:

11

4.2.1 先用后加
int a = 10;
int b = a++;

此时 b = 10,a = 11。这里是赋值完以后,a 再 ++ 。

4.2.2 先加后用
int a = 10;
int b = ++a;

此时 b = 11,a = 11。这里是先 ++ ,再赋值给b。

4.3 赋值运算符

赋值运算符就是赋值。有以下几种:
在这里插入图片描述
实际上,+= -= *= /= %= 都隐藏了一个强制类型转换。

int a = 10;
int b = 20;
a += b;
//等同于 a = (int)(a + b);

4.4 关系运算符

关系运算符一般是判断两个值的大小关系。
在这里插入图片描述
注意,关系运算符的结果都是boolean类型,要么是true,要么是false。

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

结果:

true
false

4.5 逻辑运算符

逻辑运算符是在逻辑运算时使用的运算符。
在这里插入图片描述
还有一种逻辑运算符,叫短路逻辑运算符:
短路运算符就是把 & 和 | 双写,写成 && 和 || 。
这么做的意义就是,假如 && 前是一个 false,那么结果必然是 false,程序就不会判断 && 后的内容了;假如 || 前是 true,那么结果必然是 true,程序就不会判断 || 后的内容了。运行效率提高了。

4.6 三元运算符

三元运算符可以用来判断,根据判断的结果得到不同的内容。格式:

关系表达式 ? 表达式1 : 表达式2 ;

范例:求两个数的较大值。

int max = a > b ? a : b;
System.out.println(max);

若关系表达式结果为true,取左边的表达式;否则取右边的表达式。

  • 30
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值