Java
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 - 逻辑运算符,&与、|或、^异或、!非
无限循环 - for( ; ; ){}
- while(ture){}
跳转控制语句
continue;在循环结构中使用表示跳过此次循环,执行下次循环。
break;结束整个循环。
数组的定义
数据类型 [] 数组名-->int [] arrary
数据类型 数组名 []-->int arrary []
数组的静态初始化
数据类型 [] 数据名 = new 数据类型[] {元素1,元素2,元素3}
-->int arrary [] = new int[] {11,22,33}
数组的地址值
System.out.println(array);//输出数组名为array的地址值。
数组的长度属性 --> length
调用方式:数组名.length
System.out.println(array.length);
扩展
自动生成数组的遍历方式(由idea提供次功能)。
调用:array.fori
自动生成-->for(int i=0;i<array.length;i++){}
数组的动态初始化
格式:数据类型 [] 数据名 = new 数据类型[数组长度]
-->int arrary [] = new int[3]
|数据类型|默认|
|:---|:---|
|整数|0|
|小数|0.0|
|字符|/u0000,即空格|
|布尔|false|
|引用数据|null|
数组索引越界会报错
浙公网安备 33010602011771号