- java语言基础
- 注释
- 关键字
- 常量
- 变量
- 标识符
- 数据类型
- 类型转换
- 运算符
- 数据输入
注释
1.注释概述
注释是在程序指定位置添加的说明性信息。
注释不参与程序运行,仅起到说明作用。
2.注释分类
单行注释
格式://注释信息
多行注释
格式:
文档注释
格式:
关键字
关键字:就是被java语言赋予了特定含义的单词。
特点:
- 关键字的字母全部小写。
- 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观。
常量
常量:在程序运行过程中,其值不可以发生改变的量。
常量分类:
| 常量类型 | 说明 | 举例 |
|---|---|---|
| 字符串常量 | 用双引号括起来的内容 | “Hello World” |
| 整数常量 | 不带小数的数字 | 666,888 |
| 小数常量 | 带小数的数字 | 3.14,-5.2 |
| 字符常量 | 用单引号括起来的内容 | ‘A’,‘0’,‘我’ |
| 布尔常量 | 布尔值,表示真假 | true|false |
| 空常量 | 一个特殊的值,空值 | null |
注意:空常量不能直接输出。
变量
变量:在程序运行过程中,其值可以发生改变的值。
变量定义:数据类型 变量名 = 变量名
范例:int a = 10;
注意事项:
1、声明变量的数据类型和变量名(包含数字、字母、下划线、$;不能包含空格、运算符,不能使用关键字命名,不能以数字开头),大小写可以混用,首单词应该小写,后续单词的首字母大写。(即小驼峰命名法)
studentName
2、给内存空间赋值,该值就是变量值。
3、变量未赋值不能使用。
4、long类型的变量定义的时候,为了防止整数过大,后面要加L。
5、float类型的变量定义的时候,为了防止类型不兼容,后面要加F。
标识符
标识符:就是各类、方法、变量等起名字的符号。
声明变量的数据类型和变量名(包含数字、字母、下划线、$;不能包含空格、运算符,不能使用关键字命名,不能以数字开头)
大驼峰命名法:类
小驼峰命名法:方法,变量
数据类型
计算机存储单元:
计算机存储设备的最小单元是 位(bit) ,又称为 比特位 ,通常用小写字母 b 表示。而计算机中最小的存储单元叫 字节(byte) ,通常用大写字母 B 表示,字节是由连续的 8 个 位 组成。
数据类型:
java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。
数据类型内存占用和取值范围:
类型转换
-
自动转换
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。
Java 可以自动对某些数据类型进行自动转换。
规则:只能由低字节向高字节进行转换,反之则不行。
-
强制类型转换
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
Java 无法自动转换的数据类型,开发者可以通过强制手段进行转换。
一般来讲强制类型转换可能会造成精度损失。
double num = 10.0; int num2 = (int)num;
运算符:对常量或者变量进行操作的符号。
赋值运算符
数据类型 变量名 = 数值/变量;
=、+=、-=、*=、/=、%=
变量1 += 变量2:先求出变量1和变量2之和,再把计算结果赋值给变量1,变量1 = 变量1 + 变量2
算术运算符
+、-、*、/、%、++、–
变量++、++变量
变量–、--变量
变量++:先操作,再运算。
++变量:先运算,再操作。
字符的+操作
‘A’ 65 A-Z是连续的
‘a’ 97 a-z是连续的
‘0’ 48 0-9是连续的
算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动提升。
提升规则:
-
byte类型、short类型、char类型将被提升到int类型
-
整个表达式的类型自动提升到表达式中最高等级操作数同样的类型
等级顺序:byte,short,char > int > long > float > double
关系运算符
==、!=、>、<、>=、<=
逻辑运算符
逻辑运算符只能用于 boolean 类型的数据运算,判断 boolean 数据之间的逻辑关系,与、或、非。
&(与)、|(或)、!(非)、&&(短路与)、||(短路或),^(异或)
参与逻辑运算符的变量都是 boolean 的
变量1 & 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。
变量1 | 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。
!变量1:若变量 1 为 true,结果为 false,若变量 1 为 false,结果为 true。
变量1 && 变量2:只有当变量 1 和变量 2 都为 true,结果为 true,否则为 false。
变量1 || 变量2:变量 1 和变量 2 只要有一个为 true,结果为 true,否则为 false。
逻辑与& 和 短路与&& 的区别:
逻辑与&,无论左边真假,右边都要执行。
短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。
逻辑与| 和 短路与|| 的区别:
逻辑与|,无论左边真假,右边都要执行。
短路与&&,如果左边为假,右边执行;如果左边为真,右边不执行。
条件运算符
三元运算符、三目运算符、三元表达式
根据不同的条件给同一个变量赋不同的值,变量 = 条件 ? 值1 : 值2
public class yunsuanfu {
public static void main(String[] args) {
int score = 90;
System.out.println("本次答题的得分是:" + score);
String str = score>80?"恭喜您获得优惠券一张":"很遗憾答题未及格";
System.out.println(str);
}
}
位运算符
- 十进制和二进制的转换
十进制转二进制:目标数除以2,若能除尽,该位记做0,若除不尽,该位记做1,再对商继续除以2,以此类推,直到商为0,然后把每一位的结果反序组合就是对应的二进制。
10:1010
17:10001
二进制转十进制:从目标数的最后侧起,本位的数值乘以本位的权重,权重就是2的第几位的位数减一次方,将每一位的值进行相加,得到的结果就是对应的十进制。
位运算符:&(按位与)、|(按位或)、^(按位异或)、<<(左移)、>>(右移)
变量1 & 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,若都为 1,则该位记做 1,否则记做 0。
变量1 | 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,只要有一个为 1,则该位记做 1,否则记做 0。
变量1 ^ 变量2:先把变量 1 和变量 2 转为二进制,每一位的数字一一对应,进行比较判断,相同记做 0,不同记做 1。
变量1 << 变量2:变量1乘以2的变量2次方
2 << 3 : 2 * 8 = 16
变量1 >> 变量2:变量1除以2的变量2次方
2 >> 3:2/8 = 0
运算符的优先级
!>算术运算符>关系运算符>逻辑运算符(&&>||)
数据输入
Scanner使用的基本步骤:
1.导包
import java.util.Scanner;//导包的动作必须出现在类定义的上边
2.创建对象
Scanner sc = new Scanner(System.in)
3.接收数据
int i = sc.nextInt();



