1.基础语法篇

本文详细介绍了Java编程的基础知识,包括关键字、数据类型、运算符、流程控制等核心概念。通过实例展示了变量的声明与使用,数据类型的转换,以及算术、赋值、比较、逻辑运算符的应用。此外,还涵盖了if条件语句、switch语句和循环结构的使用,为初学者提供了清晰的Java学习路径。
摘要由CSDN通过智能技术生成

本篇从所有语言都会学习的基础程序设计阶段入手,主要包括了关键字、数据类型、运算符、流程控制等方面的内容。

前言(了解)

1.Java是什么?

简单来说,Java就是一个编程语言,是一个编程工具。

2.Java可以做什么?

Java本身作为编程语言来说,基本上编程语言可以干的事情,它都可以干。只是针对Java本身的特性来说,更加侧重于在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。

3.JDK,JRE,JVM?

JDK:程序员使用Java语言编写Java程序所需要的开发工具包(JDK包括JRE,工具类等),是为程序员使用的。
JRE:运行Java程序时需要的运行环境。
JVM:Java虚拟机用来解释执行字节码文件(class文件),Java的跨平台特性就是通过JVM实现的。

4.开发流程

一个完整的Java文件开发过程是:编写、编译、执行。

编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。

运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

正文

首先我们得明白程序都是首先由一个个的字符、数字等组成,然后这些字符等,通过某些手段组织起来,最后呈现出我们所看到的程序,比如淘宝、QQ等。
我们可以从Java最基本的结构去了解。

一、基中基

1.基本的结构
public class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello World!");
	}
}
//以上内容就当个公式先记住吧,简单来说,这就是个程序的入口。

2.关键字

定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词)
特点:关键字中所有字母都为小写
常用关键字:public 、static、final、 new、this、super等


3.标识符

定义:Java 对各种变量、方法和类等要素命名时使用的字符序列称为标识符
命名规则:由数字、字母、下划线、以及$符号组成,注意不能以数字开头,也不能使用Java关键字。

- 命名规范
- 变量名规范:全部小写。
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
- 方法名规范:首字母小写,后面每个单词首字母大写(小驼峰式)。

4.变量

概念:是内存中的一个存储区域,该区域的数据可以在同一类型范围内不断变化,变量是程序中最基本的存储单元。
作用:用于在内存中保存数据

//格式
数据类型 变量名 = 初始化值
int a = 10;
4.1 变量分类:数据类型

对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
在这里插入图片描述
在这里插入图片描述

public class Variable {
	public static void main(String[] args){
			//定义字节型变量
			byte b = 100;
			System.out.println(b);
			//定义短整型变量
			short s = 1000;
			System.out.println(s);
			//定义整型变量
			int i = 123456;
			System.out.println(i);
			//定义长整型变量
			long l = 12345678900L;
			System.out.println(l);
			//定义单精度浮点型变量
			float f = 5.5F;
			System.out.println(f);
			//定义双精度浮点型变量
			double d = 8.5;
			System.out.println(d);
			//定义布尔型变量
			boolean bool = false;
			System.out.println(bool);
			//定义字符型变量
			char c = 'A';
			System.out.println(c);
			}
		}
注意:long类型:建议数据后加L表示。float类型:建议数据后加F表示。
4.2 变量分类:声明位置
  • 在方法体外,类体内声明的变量称为成员变量
  • 在方法体内部声明的变量称为局部变量
    在这里插入图片描述

总结首先熟悉了Java程序的最基本的结构。第二,了解常量、变量。第三,通过案例熟悉了怎么去写Java代码,常量就是数字(0-9)、字符(a-z、A-Z)这些;变量就是在内存空间里面,分配一段空间,给它取名字为a,然后在给a这个空间里面放一个10。并且用System.out.println();这个语句去输出。


5.数据类型
5.1 分类
  • 基本数据类型:整数类型、浮点数类型、字符类型、布尔类型
  • 引用数据类型:类、数组、接口
5.2 格式
  • 数据类型 变量名 = 数据值;

结合变量部分的按数据类型分类一起学习

总结:基于前5点的学习,应该对一个基本的Java程序有了解了。第一,我们需要写出最基本的结构,来形成代码的基础框架。第二,根据我们需要的类型,去定义数据类型并且为其赋值。第三,使用输出语句,获得我们想要的值。


6.数据类型之间的转换

不同的数据类型之间是可以进行转换的,比如:int类型可以转换成为long类型,同时long类型也可以转换为int类型

6.1 自动转换
  • 自动转换:将取值范围小的类型自动提升为 取值范围大的类型(可以参考5.数据类型)

     byte,short、char->int->long->float->double
    

    注意:Boolean类型不能转换为其他任何数据类型
    byte,short,char不会相互转换,他们三者在计算时会转换为int类型。

案例

public class Demo{
public static void main(String[] args) {
		int i = 1;
		byte b = 2;
		// byte x = b + i; // 报错
		//int类型和byte类型运算,结果是int类型
		int j = b + i;
		System.out.println(j)
	}
}
6.2 强制转换

取值范围大的类型 强制转换成 取值范围小的类型 。

	格式:数据类型 变量名 =(数据类型)被转数据值;
  **注意**:可能造成精度降低或者数据溢出。

案例

// double类型数据强制转成int类型,直接去掉小数点。
int i = (int)1.5;
6.3 注意事项
  • float变量定义:注意我们直接写出的浮点数字,默认类型是double,会提示强转。
    解决:在浮点数字的后面加F,表示写出的数字类型是float
    即:float a =10.1F;

  • long类型变量定义:注意我们直接写出的整型数字是int,值过大会提示出错。
    解决:在整型数字后面加L,表示写出的数字类型是long类型
    即:long b=13516165112L;

7.常用ASCLL码

在这里插入图片描述
总结:ASCLL码是我们常用的编码,可以用于比较字符或数字的大小。

二、运算符

简单来说,运算符就是我们在进行程序运算时的符号标志,比如+、-等

1.1 算术运算符

算术运算符:主要是包括加减乘除这些运算符号,就和我们的基础运算一样的。

在这里插入图片描述

代码示例
public class Demo{
	public static void main(String[] args){
		int a = 10;
		int b = 20;
		int c = a+b;
		System.out.println(c);
	}
}
1.2 赋值运算符

赋值运算符:是为变量名进行赋值的。

在这里插入图片描述

代码示例
public class Demo{
public static void main(String[] args){
	int i = 5;
	i+=5;//计算方式 i=i+5 变量i先加5,再赋值变量i
	System.out.println(i); //输出结果是10
	}
}

总结:使用i+=5;赋值运算符的效果等同于i=i+5,其他的运算符的效果是一样的。只是在后面进行代码编写过程中会有很好的效果。

1.3 比较运算符

比较运算符:用于比较符号两侧大小的符号,结果为fals或true。

在这里插入图片描述

代码示例
public static void main(String[] args) {
	System.out.println(1==1);//true
	System.out.println(1<2);//true
	System.out.println(3>4);//false
	System.out.println(3<=4);//true
	System.out.println(3>=4);//false
	System.out.println(3!=4);//true
}
1.4 逻辑运算符

逻辑运算符:用于逻辑运算比较。

在这里插入图片描述
注意:逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

代码示例
public static void main(String[] args) {
	System.out.println(true && true);//true
	System.out.println(true && false);//false
	System.out.println(false && true);//false,右边不计算
	System.out.println(false || false);//falase
	System.out.println(false || true);//true
	System.out.println(true || false);//true,右边不计算
	System.out.println(!false);//true
}
1.5、三目运算符
格式
数据类型 变量名 = 布尔类型表达式?结果1:结果2
解释:通过布尔表达式进行判断,如果为true,那么得到结果1;如果为false,那么得到结果2;
代码示例
public static void main(String[] args) {
	int i = (1==2 ? 100 : 200);
	System.out.println(i);//200
	int j = (3<=4 ? 500 : 600);
	System.out.println(j);//500
}

三、流程控制

概述

  在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。
所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

分类

1.顺序结构

顺序结构:顺序结构按语句出现的顺序执行

代码示例

public static void main(String[] args){
	//顺序执行,根据编写的顺序,从上到下运行
	System.out.println(1);
	System.out.println(2);
	System.out.println(3);
}
2.分支结构

分支结构又被称为选择结构,根据条件成立与否来执行操作,

  • if条件语句

    格式1:
    	if(关系表达式){
    		语句体;
    	}
    
代码示例1
public static void main(String[] args){
		System.out.println("开始");
		// 定义两个变量
		int a = 10;
		int b = 20;
		//变量使用if判断
		if (a == b){
		System.out.println("a等于b");
		}
		int c = 10;
		if(a == c){
		System.out.println("a等于c");
		}
		System.out.println("结束");
格式2:
	if(关系表达式) {
		语句体1;
	}else {
		语句体2;
	}
代码示例2
public static void main(String[] args){
	// 判断给定的数据是奇数还是偶数
	// 定义变量
	int a = 1;
	if(a % 2 == 0) {
	System.out.println("a是偶数");
	} else{
	System.out.println("a是奇数");
	}
	System.out.println("结束");
}
格式3:
	if (判断条件1) {
		执行语句1;
	} else if (判断条件2) {
		执行语句2;
		}...
		}else if (判断条件n) {
			执行语句n;
		} else {
			执行语句n+1;
		}
代码示例3
public static void main(String[] args) {
		// x和y的关系满足如下:
		// x>=3 y = 2x + 1;
		//‐1<=x<3 y = 2x;
		// x<=‐1 y = 2x – 1;
		// 根据给定的x的值,计算出y的值并输出。
		// 定义变量
		int x = 5;
		int y;
		if (x>= 3) {
		y = 2 * x + 1;
		} else if (x >=1 && x < 3) {
		y = 2 * x;
		} else {
		y = 2 * x ‐ 1;
		}
		System.out.println("y的值是:"+y);
	}
  • switch语句

    格式:	
    switch(表达式){
    	case 取值1:
    		语句1;
    		break;
    			···
    	case 取值n:
    		语句n;
    		break;
    	default :
    		语句块n+1;
    		break;
    	}
    

    注意:返回值为:int、byte、char、String
    case中的取值为常量,比如case 10。

代码示例

public static void main(String[] args) {
//定义变量,判断是星期几
int weekday = 6;
//switch语句实现选择
switch(weekday) {
		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;
	}
}
3.循环结构
如果条件满足,它会重复执行某一循环体,直到不满足条件为止
  • while 循环

     While(条件表达式/布尔表达式){
     	语句块;
     }
     步骤:1循环的条件和操作;2套用while写代码;3检查循环是否能够退出。
    
public static void main(String[] args) {
		//while循环实现打印10次HelloWorld
		//定义初始化变量
		int i = 1;
		//循环条件<=10
		while(i<=10){
		System.out.println("HelloWorld");
		i++;
		}
	}
  • do…while循环

     do{
     	循环体
     	步进表达式
     }while(条件表达式);
    

    区别:1.while(){}先判断,如果条件满足,再执行
    2.do{}while()先执行一次循环操作,再判断条件,如果条件满足,继续执行循环操作。

代码示例
public static void main(String[] args) {
	int x=1;
	do {
	System.out.println("HelloWorld");
	x++;
	}while(x<=10);
}
  • for循环

     for(定义循环变量;判断循环条件;更新循环变量){
     	循环体
     }
    

    注意:外层循环控制行数,内层循环控制列数

public static void main(String[] args) {
	//1.定义一个初始化变量,记录累加求和,初始值为0
	int sum = 0;
	//2.利用for循环获取1‐100之间的数字
	for (int i = 1; i <= 100; i++) {
	//3.判断获取的数组是奇数还是偶数
	if(i % 2==0){
	//4.如果是偶数就累加求和
	sum += i;
	}
	}
	//5.循环结束之后,打印累加结果
	System.out.println("sum:"+sum);
}
4.break与continue

①break是用于终止本轮所有循环,即不执行本次循环break后面的语句,直接跳出循环。
②continue是用于终止本次循环,即本次循环continue后面的代码不执行,进行下一次循环的入口判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值