Java基础语法
1.注释
示例代码
// 单行注释
/*
多行注释
*/
/**
文档注释
*/
/*
通过class关键字定义了一个类, 类名称叫做HelloWorld
public起到限制作用, 限制类名称和文件名必须保持一致.
*/
public class HelloWorld {
// main(主方法), 是程序执行的入口
public static void main(String[] args){
System.out.println(123);
System.out.println("HelloWorld"); // 输出语句, 打印()中包裹的内容
}
}
注意 : 被注释的内容, 不会参与程序的编译和运行.运行发现没打印HelloWorld
2.关键字和字面量
2.1 关键字-------被Java赋予了特殊含义的英文单词,以下都是Java中的关键字

注意:关键字已经被 Java 赋予了特殊的含义,我们无法使用 (不能当作类名,变量名,方法名...)
2.2 字面量

示例代码
public class ConstantDemo {
/*
字面量: 生活中的数据, 在程序中的书写格式
需求: 请将自己的个人信息展示在控制台
姓名(字符串), 年龄(整数), 性别(字符), 身高(小数), 婚姻状况(布尔)
*/
public static void main(String[] args) {
System.out.println("Tom");
System.out.println(23);
System.out.println(170);
System.out.println('男');
System.out.println(false);
// System.out.println(null); null不允许直接打印
}
}
3. 变量的介绍和定义
变量就是内存中的一块区域,可以理解成一个盒子,用来装程序要处理的数据的
定义格式:数据类型 变量名 = 数据值

举例:
int num = 10;
变量的使用:根据变量名使用
int age = 18;
System.out.println(age); // 打印
age = 20; // 修改
System.out.println(age + 10); // 计算
4. 变量的注意事项
- 变量要先声明才能使用
public class VariableTest {
public static void main(String[] args){
int age = 18;
System.out.println(age); // 正确
System.out.println(name); // 错误, 没有这个变量
}
}
- 变量是什么类型,就必须装什么类型的数据
public class VariableTest {
public static void main(String[] args){
int age = 18; // 正确, int类型存储整数Ok
int num = 12.3; // 错误, int类型无法存储小数
}
}
- 变量只在自己所归属的 { } 范围内有效
public class VariableTest {
public static void main(String[] args){
int age = 18;
System.out.println(age); // 正确, 在范围中
{
int a = 10;
System.out.println(a); // 正确, 在范围中
}
System.out.println(a); // 错误, 访问不到a变量
System.out.println(age); // 正确, 在范围中
}
}
- 同一个范围内,变量的名称不能一样
public class VariableTest {
public static void main(String[] args){
int age = 18; // 正确定义变量
{
int a = 10; // 正确定义变量
}
{
int a = 10; // 正确定义变量
}
int age = 20; // 错误!!! main方法中已经有age变量了
}
}
- 变量定义的时候可以不赋初始值,但在使用时,变量里必须有值
public class VariableTest {
public static void main(String[] args){
int age; // 不会报错, 因为并没有使用
}
}
public class VariableTest {
public static void main(String[] args){
int age; // 不会报错, 因为并没有使用
System.out.println(age); // 编译错误, 变量中没有数据
}
}
public class VariableTest {
public static void main(String[] args){
int age; // 不会报错, 因为并没有使用
age = 10;
System.out.println(age); // 不会报错, 因为age里面已经有数据了
}
}
- 一条语句可以定义多个同类型变量,中间使用逗号分隔
public class VariableTest {
public static void main(String[] args){
int a = 10, b = 20, c = 30;
}
}
5. 标识符
介绍:就是给类,方法,变量等起名字的符号 (自己起的名字)
-
标识符的命名规则
由数字、字母、下划线(_)和美元符($)组成
不能以数字开头
不能是关键字
区分大小写
-
标识符的命名规范
见名知义,驼峰命名
6. 数据类型
Java 中的数据类型大体分为两种
-
基本数据类型
-
引用数据类型
我们今天重点聊基本数据类型,要能够使用不同的数据类型,定义出不同类型的变量
使用思路:
-
整数类型变量:首选 int,如果发现 int 装不下数据了,将类型换成 long,但是定义 long 类型变量,需要加入 L 标识
-
小数类型变量:首选 double,如果非要使用 float 类型,需要在数值后面加入 F 标识
long tel = 15612341234L;
float height = 180.1F;
7. 算数运算符
生活中的数据需要进行运算,代码中的数据同样如此,我们先来学习算数运算符
System.out.println(5 / 2); // 结果为2
System.out.println(5 / 2.0); // 结果为2.5
System.out.println(5.0 / 2); // 结果为2.5
System.out.println(5 % 2); // 结果为1
System.out.println(4 % 2); // 结果为0
package com.itheima.test;
public class OperatorTest1 {
public static void main(String[] args) {
int num = 456;
int ge = num % 10;
int shi = num / 10 % 10;
// 最高位可以简化计算
int bai = num / 100;
System.out.println(ge);
System.out.println(shi);
System.out.println(bai);
}
}
9. 字符串拼接操作
当 + 操作中,遇到了字符串,这时 + 就是字符串连接符,而不是算术运算。
改造刚刚的案例
package com.itheima.test;
public class OperatorTest1 {
public static void main(String[] args) {
int num = 456;
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100;
System.out.println("整数" + num + "的个位为: " + ge);
System.out.println("整数" + num + "的十位为: " + shi);
System.out.println("整数" + num + "的百位为: " + bai);
}
}
10. 自增自减运算符
使用细节:
1. 单独使用: 符号在前在后没有区别的
2. 参与运算使用
++在前: 先自增再操作
++在后: 先操作再自增
详细请点击:a++和++a在简单运算中的使用
11. 类型转换
类型转换分为两种,隐式转换和强制转换
-
隐式转换
简单记:小的给大的赋值可以直接赋值
数据从 10 变化为了 10.0 数据发生了转换,转换的过程是内部隐藏的,所以称为隐式转换
运算过程中发生的隐式转换
char 转换为 int 的方式是查找编码表中的数字
例如 : 'a' 对应的是 97
int result = 'a' + 1;
System.out.println(result); 结果为98
-
强制转换
简单记 : 大的给小的赋值,不能直接赋值,需要强制类型转换
强转过程中有可能出现精度损失问题,使用的时候需要注意。
12. 赋值运算符
- 基本赋值运算符
- 扩展赋值运算符
int a = 10;
a += 20;
System.out.println(a); // 30
注意 : 扩展赋值运算符自带强转效果
int a = 10;
double b = 12.3;
a += b;
System.out.println(a);
输出结果为22,因为相加之和的22.3赋值给 a ,a 变量为 int 类型,强转后砍掉小数点,结果为22
-
关系运算符
小名:比较运算符,让数据之间做比较的符号,返回 true 或者 false
package com.itheima.operator;
public class OperatorDemo4 {
/*
关系运算符
>
>=
<
<=
==
!=
*/
public static void main(String[] args) {
System.out.println(10 > 20); // false
System.out.println(10 >= 20); // false
System.out.println(10 < 20); // true
System.out.println(10 <= 20); // true
System.out.println(10 == 20); // false
System.out.println(10 != 20); // true
}
}
14. 逻辑运算符
-
普通的逻辑运算符
介绍 : 把多个条件放在一起运算,最终返回布尔类型的值:true、false
需求 : 在程序中,判断一个学生成绩是否在 90~100 之间,是的话程序输出优秀.
package com.itheima.operator;
public class OperatorDemo5 {
/*
逻辑运算符: 把多个条件放在一起运算, 最终返回true或者是false
分类:
&(与): 遇false则false
|(或): 遇true则true
!(非): 取反
^(异或): 相同为false, 不同为true
*/
public static void main(String[] args) {
System.out.println(true & false); // false
System.out.println(false & true); // false
System.out.println(false & false); // false
System.out.println(true & true); // true
System.out.println("---------------------");
System.out.println(true | false); // true
System.out.println(false | true); // true
System.out.println(false | false); // false
System.out.println(true | true); // true
System.out.println("---------------------");
System.out.println(!false); // true
System.out.println(!true); // false
System.out.println("---------------------");
System.out.println(true ^ false); // true
System.out.println(false ^ true); // true
System.out.println(false ^ false); // false
System.out.println(true ^ true); // false
}
}
-
带有短路效果的逻辑运算符
public class OperatorDemo6 {
public static void main(String[] args) {
int x = 3;
int y = 4;
// false & false
boolean result = ++x > 5 && y-- < 4;
System.out.println(result); // false
System.out.println(x); // 4
System.out.println(y); // 4
// 因为使用的是 && 符号, 具有短路效果, 左边为false的时候右边不执行, 所以 y 没有执行 --
}
}
15. 三元运算符
作用 : 根据判断条件, 从两份数据中二者选其一
package com.itheima.operator;
public class OperatorDemo7 {
/*
格式:判断条件 ? 值1 : 值2;
执行流程:
首先计算 判断条件的值
如果值为true, 值1 就是运算结果
如果值为false, 值2 就是运算结果
需求: 从两个变量中找出最大值
*/
public static void main(String[] args) {
int a = 50;
int b = 20;
int max = a > b ? a : b;
System.out.println("最大值为:" + max);
}
}
案例 : 从三个整数中找出最大值
package com.itheima.test;
public class OperatorTest3 {
/*
需求: 从三个整数中找出最大值
*/
public static void main(String[] args) {
int a = 20;
int b = 50;
int c = 10;
// 1. 找出前两个整数的最大值
int tempMax = a > b ? a : b;
// 2. 找出三个整数的最大值
int max = tempMax > c ? tempMax : c;
System.out.println("最大值为:" + max);
}
}
-
运算符优先级
熟练运用好小括号的使用即可
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println( (a > b || a < b) && a > b);
}
}
public class Test {
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println(a > b || (a < b && a > b) );
}
}
总结:
1.熟能生巧,光看是没用的,要多上手去敲
2.打牢基础,稳步向前

浙公网安备 33010602011771号