Java的基本语法
1、代码的基本格式
修饰符 class 类名{
程序执行代码
}
public class HelloWorld(){
//底下的main函数的写法是固定格式
public static void main(String[] args){
System.out.println("程序执行结果!");
}
}
2、Java中的常量
- 整型常量(整数类型的数据)
- 浮点数常量(就是用到的小数,分为Float单精度浮点数和Double双精度浮点数)
- 字符常量(表示一个字符)
- 字符串常量(表示一串连续的字符)
- 布尔常量 (true、false)
- null常量(表示对象引用为空)
3、Java中的变量
变量:在程序运行期间,随时可以产生一些临时变量,应用程序会将这些数据保存在内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名。
int x = 0,y; //作用是定义两个变量x和y,也就相当于分配了两个内存单元。
y = x+3; //作用是为变量赋值
4、选择结构语句
4.1 if条件语句
4.1.1 if语句
if(条件语句){
代码块
}
案例(1):
public class Example01{
public atatic void main(String[] args){
int x = 5;
if(x<10){
x++;
}
System.out.println("x="+x);
}
}
运行结果:x=6
4.1.2 if…else语句
if(判断条件){
执行语句1
....
}else{
执行语句2
....
}
案例(1):
public class Example {
public static void main(String[] args) {
int num = 19;
if(num%2 == 0){
//判断条件成立,num被2整除
System.out.println("num是一个偶数");
}else{
System.out.println("num是一个奇数");
}
}
}
执行结果:num是一个奇数。
注意:在Java中有一种特殊的运算叫做三元运算,它和if…else语句类似,语法如下:
判断条件 ?表达式1 :表达式2
int x = 0;
int y = 1;
int max;
if(x>y){
max = x;
}else{
max = y;
}
上面的代码可以用一句话解决: int max = x>y ? x : y; //当x>y这个条件成立是执行x,否则执行y;
4.1.3 switch语句
switch条件语句和if条件语句不同,它只能针对某个表达式的值做出判断,从而决定程序执行哪一个代码。
public class Example {
public static void main(String[] args) {
int week = 5;
switch (week){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("您输入的数字不正确");
break;
}
}
}
执行结果:星期五
案例2:
public class fuxi {
public static void main(String[] args) {
int week = 2;
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
//当满足值1、2、3、4、5中任意一个时,处理方式相同
System.out.println("今天是工作日");
break;
case 6:
case 7:
System.out.println("今天是休息日");
break;
default:
System.out.println("您输入的数字不正确");
break;
}
}
}
执行结果:今天是工作日
5、循环结构语句
5.1 while循环语句
while(循环条件){
执行语句
}
案例1:
public class fuxi {
public static void main(String[] args) {
int x = 1; //定义变量x,初始值为1
while(x<=4){ //循环条件
System.out.println("x="+x);
x++;
}
}
}
执行结果:x=1
x=2
x=3
x=4
5.2 do… while循环语句(作用不大,了解就好)
5.3 for循环语句(重点掌握)
public class fuxi {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i < 4; i++) {
sum+=i;
}
System.out.println("sum="+sum);
}
}
执行结果:sum= 10;
嵌套循环:是指在一个循环语句的循环体中再定义一个循环语句的语法结构:
for(初始化表达式;循环条件;操作表达式){
for(初始化表达式;循环条件;操作表达式){
执行语句...
}
}
案例:用“”*“”打印直角三角形
public class Triangle {
public static void main(String[] args) {
for (int i = 1; i < 9; i++) { //外层循环
for (int j = 1; j <= i; j++) { //内层循环
System.out.print("*");
}
System.out.println(); //这句话只是一个换行作用
}
}
}
5.4 跳转语句(基本了解诶,作用不大)
break语句(当它出现在循环语句中,作用哪个是跳出循环语句,执行后面的代码)
continue语句(作用是终止本次循环,执行下一次循环。)
6、方法
方法的定义:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名 2,…){
执行语句
return 返回值;
}
- 修饰符:方法的修饰符比较多,有访问权限进行限定的,有静态修饰符static,还有最终修饰符final等。
- 返回值类型:用于限定方法返回值的数据类型。
- 参数类型:用于限定调用方法时传入参数的数据类型。
- 参数名:是一个变量,用于接收调用方法时传入的数据。
- return关键词:用于结束方法以及返回方法指定类型的值。
- 返回值:被return语句返回的值,该值会返回给调用者。
- 方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,return语句就可以省略
案例:
public class Example {
public static void main(String[] args) {
int area = getArea(3,5); //调用getArea方法
System.out.println("The area is"+area);
}
//定义一个求矩形面积的方法,接收两个参数,其中x为高,y为宽
public static int getArea(int x,int y){
int temp = x*y; //把x*y的值赋值给temp
return temp; //将变量temp的值返回
}
}
执行j结果:The area is 15
说明: 定义了一个getArea()方法用于求矩形的面积,参数x和y分别用于接收调用方法时传入的参数高和宽,
return语句用于返回计算所得的面积。
在main()函数中通过调用getArea()方法,获得矩形的面积。
6.1 方法的重载
案例:
public class Example {
public static void main(String[] args) {
//下面是针对求和方法的调用
int sum1 = add(1,2);
int sum2= add(1,2,3);
double sum3 = add(1.2,2.3);
System.out.println("sum1="+sum1);
System.out.println("sum2="+sum2);
System.out.println("sum1="+sum3);
}
//下面的方法
public static int add(int x,int y){
return x+y;
}
public static int add(int x,int y,int z){
return x+y+z;
}
public static double add(double x,double y){
return x+y;
}
}
执行结果:sum1=3
sum2=6
sum1=3.5
7、数组(重点掌握)
(1)一维数组:
数组的定义:
【方法一】
int [] x = new int[100]; //直接声明一个长度为100的数组
也可以分成两句来写:
int[] x; //声明一个int[]类型的变量;
x = new int [100]; //创建一个长度为100的数组
new 的对象都在堆内存中。创建的变量都在栈内存中。
public class fuxi {
public static void main(String[] args) {
int[] arr;
arr = new int[3];
System.out.println("arr[0]="+arr[0]);
System.out.println("arr[1]="+arr[1]);
System.out.println("arr[2]="+arr[2]);
System.out.println("数组的长度:"+arr.length);
}
}
执行结果:arr[0]=0
arr[1]=0
arr[2]=0
数组的长度:3
【方法二】
int [] arr = new int[]{1,2,3,4,5,6,7}; //直接赋值
int [] arr = {1,2,3,4,5,6,7}; // 直接静态初始化
用法还是同上。
7.1 数组的常见操作
数组遍历:
在操作数组时,经常需要一次访问数组中的每个元素,这种操作称为数组的遍历。
public class fuxi {
public static void main(String[] args) {
int[] arr = {1,2,3,4,5,6,7}; //定义数组
//使用for循环遍历数组的元素
System.out.println("数组中的元素为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(" " + arr[i]);
}
}
}
执行结果:
数组中的元素为:
1 2 3 4 5 6 7
(2)二维数组:
二维数组的定义方式有很多,常见的有:
- 第一种方式
int[][] arr = new int [3][4]; //相当定义一个3*4的二维数组;
- 第二种方式
int [][] arr = new int[3] []; //和第一种类似,只是数组中每个元素的长度不确定。
- 第三种方式
int [][] arr = {{1,2,3},{,4,5,6},{7,8,9}};