小策:再长的路,一步步也能走完,再短的路,不迈开双脚也无法到达。
安装好Eclipse,之后便是漫长的Java语言学习之路,坚持住。
首先让我们了解一下Java语言的基础语法
标识符
自我们出生,父母便会给我们取名字
同样的,编写Java语言也是一种创造
所以Java中也有取名字这一行为,即命名
命名,简单来说就是给Java类、对象、方法等取名
Java标识符,也就是Java语言中的变量、常量、函数、语句块的名字,
标识符组成
标识符约定
-
类和接口
- 每个单词首字母大写
-
方法名
- 开头首字母小写,其余单词首字母大写
-
常量名
- 全部大写,单词之间下划线隔开
-
变量名
- 首字符小写,大小混写。不用下划线、美元符号。
判断
标识符 判断 原因 int 不能是关键字 userName 996ICU 不可以数字开头 String 不能是关键字 StudentOrder IP_HOST const 不能是保留字 #123 ‘#’不属于标识符的组成
数据类型
我们出生后,便有性别、性格之分
同样的,Java语言也有数据类型之分
数据类型 是程序设计语言描述事物、对象的方法。
Java数据类型:
整数类型
用于表示没有小数部分的数值,可以为负数。
类型 | 存储需求 | 取值范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -215 ~ 215-1 |
int | 4字节 | -231 ~ 231-1 |
long | 8字节 | -263 ~ 263-1 |
浮点类型
表示有小数部分的数值。
类型 | 存储需求 | 取值范围 |
---|---|---|
float | 4字节 | |
double | 8字节 |
字符类型
表示单个字符
布尔类型
用来判定逻辑条件
值 | 判定 |
---|---|
true | |
false |
变量
变量是在程序运行过程中其值可以被改变的量
变量的声明
数据类型 变量名[变量a,变量b,变量c...];
//声明三个数据类型为int整形的变量
//年龄age,长度len、尺寸size
int age,len,size;
变量的初始化
声明一个变量时,通过赋值语句=
对变量进行初始化
//声明变量
double price;
//赋值
price = 100.0;
//声明并初始化
double salary = 100.0;
常量
在程序运行过程中,值始终不变的量
常量的定义
使用关键字 final 定义常量
final 数据类型 常量名称 = 值;
//定义一个数据类型为int,值为9的常量
final int TIME = 9;
注意:常量被赋值后,不可改变
final int a = 1;
a = 3;
运算符
运算符 | 使用 |
---|---|
算数运算符 | + - * / % |
自增运算符 | ++ |
自减运算符 | -- |
关系运算符 | > >= == <= < != |
逻辑运算符 | && || ! |
三元运算符 | ?: |
赋值运算符 | = += -= *= %= |
位运算符 | & | ^ |
字符串连接运算符 | + |
instanceof比较 | instanceof |
表达式
符合一定语法规则的运算符和操作数的序列
- a
- a+10
- a+b*c/3
- 10>3?"LEFT":"RIGHT";
表达式的值
操作数进行运算得到的结果
表达式的类型
表达式值的数据类型
类型转换
基本数据类型之间可以进行相互转换。
隐式转换
进行类型加宽转换时可以自动实现
int n = 5;//4字节
double f = n;//8字节
强制转换
进行类型收缩转换时转换必须进行显式转换
double d = 3.14;//8字节
int i = (int)d; //4字节
其他
- byte,short, char之间不会相互转换,他们三者在计算时首先转换为 int 类型
- 更多内容测试可以参考demo[1]
三大流程
顺序流程
让程序按照我写的代码顺序一步步执行
让代码变成我的乖宝宝
最基本的控制流程
按照语句顺序依次执行
int a = 1;
int b = 2;
int c;
c = a + b;
System.out.print("a+b="c);
a+b=3
分支流程
当我想在阴天吃火锅,晴天吃雪糕的时候,我得进行判断
于是有了分支流程
部分程序可根据表达式的值,有选择的执行
if else
if else 会进行表达式值的判断
- true 执行true包裹的{代码},执行if外的语句
- false 执行之后的if判断 || 执行if外的语句
if(true){
//执行的代码
}else if(false){
//不执行的代码
}else{
//如果判断到这,执行
//判断不到,不执行
}
switch case
多分支条件语句,可以和嵌套的if语句相互转换
但是switch语句更直观
switch语句比较特殊,分俩种情况
- 加break;
switch(表达式/变量标识符){ case 常量1: //代码块1 break; case 常量2: //代码块2 break; default: //代码块3 break; }
- 当switch内容和常量1相同时,只执行代码块1
- 当switch内容和常量1不相同,但和常量2相同时,只执行代码块2
- 当switch内容和常量1、2都不相同时,执行代码块3
- 不加break;
switch(表达式/变量标识符){ case 常量1: //代码块1 case 常量2: //代码块2 default: //代码块3 }
- 当switch内容和常量1相同时,执行代码块1、2、3
- 当switch内容和常量1不相同,但和常量2相同时,执行代码块2、3
- 当switch内容和常量1、2都不相同时,执行代码块3
循环流程
当我想重复做某件事情,但是次数有我自己的要求时
我可以用循环语句来做
根据条件,反复执行语句、操作。
完整的循环语句包括四部分
- 初始化部分:设置循环初始条件
- 迭代部分:更新循环控制条件
- 终止部分:退出循环的条件判断
- 循环体部分:循环执行的代码块
同时可以添加break进行循环的强行终止。V
for循环
非常普通的一个完整的循环语句
迭代部分可以根据自己的需求进行设计,会产生别样的用处
//for(初始化部分;终止部分;迭代部分){
//循环体部分;
//}
for(int i = 0;i < 10;i++){
System.out.print(i);
}
0123456789
while循环
while循环将初始化部分放在循环体外
先判断后执行
//while(循环条件表达式){
//循环体
//}
int a = 10;
while(a>0){
System.out.print(a+" ");
a--;
}
10 9 8 7 6 5 4 3 2 1
do while循环
和while有着异曲同工之妙
先执行后判断
//do{
//循环体
//}while(循环条件表达式);
int i = 0;
do{
System.out.print(i++);
}while(i<10);
0123456789
增强型for循环
增强型for循环适用于比较复杂的数据类型组合
可以遍历指定数组集合的值
//for(类型 变量名:数组/集合){
//循环体
//}
int[] a = new int[]{1,2,3};
for(int indexA:a){
System.out.println(indexA);
}
1
2
3
输入与输出
Java的输入、输出和C语言都是通过流来实现的。
输入设备System.in
Java中的输入需要使用Scanner的对象读取来自System.in的输入
使用时须在源文件的第一行导入:import java.util.Scanner
Scanner s = new Scanner(System.in);
int i = s.nextInt();
System.out.print(i);
//您输入的数
Scanner的方法总结:
返回值 | 方法 |
---|---|
String |
nextLine() |
boolean |
nextBoolean() |
short |
nextShort() |
int |
nextInt() |
long |
nextLong() |
double |
nextDouble() |
输出设备System.out
java的输出不用借助其他类或对象
可以直接通过System.out进行输出。
总结:
输出 | 控制台显示 |
---|---|
System.out.print(); |
输出内容,不换行 |
System.out.println(); |
输出内容,换行 |
System.out.printf(); |
输出内容,不换行,必须得写明输出类型 |
博客相关java项目:查看Github项目
对应github项目:Demo2
导入项目的方法: Java基础——Java如何导入本地项目