java 实际运行在虚拟机上 --> java的跨平台特性
JDK(Java的开发工具包) | JVM(虚拟机) | 核心类库 | 开发工具 |
JRE(Java的运行环境) | JVM(虚拟机) | 核心类库 | 运行工具 |
关键字
- 被Java赋予特殊意义的英文单词
- 关键字字母全部小写
- 常用的代码编辑器针对关键字有特殊的颜色标记
public class HelloWorld
{
public static void main (String[] args)
{
System.out.println("HelloWorld");
}
}
其中
HelloWorld
为类名,应与文件名相同。
class
用于(创建/定义)一个类。
字面量
字面量类型 | 笔记 |
---|---|
整数 | 有符号 |
小数 | 有符号 |
字符串 | 无符号 |
字符 | 无符号 |
布尔 | 表示真假(ture/false) |
空 | null |
数据类型 | 关键字 | 符号 | 大小(字节) |
---|---|---|---|
整数 | byte | 有 | 1(28) |
同上 | short | 有 | 2(216) |
同上 | int | 有 | 4(232) |
同上 | long | 有 | 8(264) |
浮点数 | float | 有 | 未知(太大) |
同上 | double | 有 | 未知(太大) |
字符 | char | 无 | 2(216) |
布尔 | Boolean | 无 | 1bit |
若要定义long类型的变量,要在数据值后加'L'或者'l'.如"long n = 999999999L"
若要定义float类型的变量,要在数据值后加'F'或者'f'.如"float n = 10.1F"
\t 制表符
在打印时,把前面的字符串的长度补齐到8或8的整数倍,最多补8个,最少补1个。
System.out.println("name"+'\t'+"age");
System.out.println("Tom"+'\t'+"23");
\t
只补齐它之前的字符串如:"name"和"Tom"
输出:
name age
Tom 23
变量的注意事项
1.只能存一个值。
2.变量名不能重复。
3.变量不能重复定义。
4.变量在使用前一定要赋值? --> 确实,否则会报错。
5.变量的作用域。
不同进制在代码中的表现:
System.out.println(17); //十进制
System.out.println(017); //八进制
System.out.println(0b123); //二进制(但是语法错误,二进制只有0和1)
System.out.println(0x123); //十六进制
变量标识符的命名规则
1.由数字、字母、下划线(_)、美元符号($)组成。
2.不能以数字开头。
3.不能是关键字。
4.严格区分大小写。
小驼峰命名法
一个单词 --> name --> 首字母小写。
多个单词 --> firstName --> 首字母小写,其他单词首字母大写。
键盘录入
Java中的类 --> Scanner
-
导包:
import Java.util.Scanner;
-
创建对象:
Scanner sc = new Scanner(system.in)
上式中,只有sc为变量名,可作更改。 -
接受数据:
int i = sc.nextInt();
上式中,只有i为变量名,可作更改。
此时只能输入整数
import java.util.Scanner;
public class ScannerDome1
{
public static void main(String[] args)
{
Scanner sc = new Scanner(system.in);
int i = sc.nextInt();
System.out.println(i);
}
}
数字相加
数字进行运算时,类型需要一致。
隐式转换(自动类型提升):小范围转大范围。
强制转换:大范围转小范围。
double > float > long > int > short > byte
并且short byte char 这三种类型运算时,为提升为int类型运算
例:
byte a = 10;
byte b = 20;
c = a + b; //其中c为int型。
强制转化
格式:目标数据类型 变量名 = (目标数据类型) 被强转的数据
于是上式的c可强转为byte --> byte c = (byte)(a + b)
"+" 的用法
- 字符串的“+”操作,是字符串连接符。
"123" + 123
-->123123
- 连续“+”操作时,依次从左到右执行。
1 + 99 + "年黑马"
-->100年黑马
int ge = 1; System.out.println("个位是:" + ge);
-->个位是1
- 字符的“+”操作:字符转化为ASCII码运算。
System.out.println('a' + 1)
-->98
- 自增自减运算符,++、--
- 赋值运算符,=、+=、-=、/=、*=、%=(隐藏强转设定)
- 关系运算符,==、!=、>、>=、<、<=
关系运算的结果都为Boolean类型,只有true和false输出。
如:
输出:int a = 10; int b = 10; System.out.println(a == b);
ture
- 逻辑运算符,&与、|或、^异或、!非