java第一课 eclipse配置、数据类型和常用表达式讲解

本文介绍了Java的历史、应用领域以及开发环境的配置,详细讲解了Java的常量、变量、数据类型,包括注释、标识符规则、关键字,以及变量的概念。还探讨了基本数据类型的类型转换、运算符和表达式,特别是三目运算符的使用,并简单介绍了switch-case语句的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Java历史

二、Java可以做什么?

三、Java开发环境配置

四、常量,变量,数据类型

Java注释:

标识符规则:

java中有50个关键字

变量概念:

数据类型:

基本数据类型的类型转换

五、运算符(5种)和表达式

三目运算符

六、switch-case语句


一、Java历史

Java语言诞生于1990年年末Sun公司,本来准备嵌入式系统将来在未来家用电器领域大显身手,Sun公司成立了一个由James Gosling领导的“Green计划”,准备为下一代只能加点编写一个通用控制系统;Java语言前生是Oak语言,但是注册的时候发现被注册了,所以改名Java,Java的名字灵感来源于爪哇岛喝过一杯美味的咖啡

二、Java可以做什么?

Java语言目前是最流行的面向对象编程语言,Java语言可以开发:JavaWeb,JavaEE,Android

Java运行时环境(jre),以及常用的Java类库等。

  1. bin:存放JDK的各种工具命令,常用javac、java等命令就放在该路径下
  2. db:安装JavaDB的路径
  3. include:一些平台特定的头文件
  4. jre:运行Java程序所必需的JRE环境
  5. lib:存放JDK工具命令的实际执行程序
  6. javafx-src:存放JavaFX所有核心类库的源代码(目前我们不会接触到)
  7. src:存放Java所有核心类库的源代码

JRE:Java Runtime Environment,即Java运行时环境,是Java程序运行的必须条件
JVM:Java Virtual Machine,即Java虚拟机,和实际的计算机一样,它具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存和寄存器;JVM大致分:指令集、寄存器、类文件的格式、栈、垃圾回收堆和储存器

  • JavaSE:Java Platform,Standard Edition(Java平台标准版)
  • JavaEE:  Java Platform,Enterprise Edition(Java平台企业版)
  • JavaME:  Java Platform,Mobile Edition(Java平台手机版)

三、Java开发环境配置

1、下载和安装JDK
下载:http://www.oracle.com/

配置Java环境变量
计算机右键属性,高级,环境变量,修改Path

是否配置成功:检测cmd命令行模式下,java,javac两个指令都能出命令提示

2、下载安装Eclipse
注意:JDK和Eclipse版本必须保持一致,即32位/64位

程序编写、编译、运行原理:

3、后缀名为.java的源文件经过编写后,经编译器编译,生成中间过程为.class的字节码文件,执行时经过JRE二次编译,生成能被机器直接执行的二进制执行文件,在JVM上运行出结果。
如果使用集成开发工具(Eclipse),可以不需要配置环境变量
开发工具是即时编译


四、常量,变量,数据类型

Java注释:

  • 单行注释://注释内容
  • 多行注释:/*注释内容*/
  • 文档注释:/**注释内容*/

标识符规则:

标识符就是用于给程序中变量、类、方法名的符号
1)标识符可以由字母、数字、下划线(_)和美元符($)组成,其中数字不能开头
2)标识符不能是Java关键字和保留字,但可以包含关键字和保留字
3)标识符不能包含空格
4)标识符只能包含美元符($),不能包含@、#等其他特殊字符
5)只有类名首字母才能大写,其他首字母一律小写
6)坚决不允许出现中文及拼音
7)使用驼峰命名法

java中有50个关键字

变量概念:

编程的本质,就是对内存中数据的访问和修改,程序所用的数据都会保存在内存中,程序员需要一种机制来访问或修改内存中数据,这种机制就是变量,每个变量都代表了某一块内存,而且变量是有名字的,程序对变量赋值,实际上就是把数据装入该变量所代表的内存区的过程;程序读取变量的值,实际上就是从改变量所代表的内存区取值的过程。形象的理解:变量相当于一个有名称的容器,该容器用于装各种不同类型的数据

数据类型:

数据类型主要分两大类:基本数据类型引用数据类型
引用数据类型:类、接口数组

引用数据类型:

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(7==6);//基本数据类型比较都用==
		String a=new String("abc");
		String b=new String("abc");
		System.out.println(a==b);//String是引用数据类型
		System.out.println(a.equals(b));//引用数据类型比较都用equals()
	}


基本数据类型:

 

float和double区别:
float:精度6位,double:精度15位

转义字符:

基本数据类型的类型转换


1、自动转换

2、强制类型转换

 

public class Demo_4 {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		// Object obj=new Object();
		System.out.println("请输入姓名、年龄、成绩和性别:");
		String name = input.next();// 获得String值,方法返回的数据类型和定义数据类型保持一致
		int age = input.nextInt();// 获得int值
		double score = input.nextDouble();
		char sex = input.next().charAt(0);// a 字符 aaa 字符串
		System.out.println(name + " " + age + " " + sex + " " + score);
	}

}

五、运算符(5种)和表达式

1)算数运算符
2)赋值运算符
3)比较运算符
4)逻辑运算符
5)位运算符(只需要知道)

算数运算符

		System.out.println(9.6%4.5);//0.6
		//9.6被4.5整除 4.5*2=9.0 9.6-9.0=0.6 被整除后剩余的数(余数)
		int i = 4;
//		System.out.println(i--);// i = 4
//		System.out.println(i);
		System.out.println(++i);// i = 5
		System.out.println(i);


赋值运算符


比较运算符

案例4:把a变量中的数加上9,然后再保存到a变量中,显示a中的值
标案:把a变量中的数加上9,然后再保存到a变量中,显示a中的值题

三目运算符

是一个简易的if-else(见if-else)的精简写法,三目运算符:?:,格式如下:
(expression)?if-true-statement:if-false-statement;

 


例题:A字符对应65十进制,a字符对应97十进制,B字符对应66十进制,b字符对应98十进制

		// 1、大写 2、小写 3、非字母(不我们要的值)
		Scanner input = new Scanner(System.in);
		System.out.println("请输入字母:");
		char c = input.next().charAt(0);
		if (c >= 'A' && c <= 'Z') {
			c += 32;
		} else if (c >= 'a' && c <= 'z') {
			c -= 32;
		} else {
			System.out.println("不是字母!");
			return;
		}
		System.out.println("最终:" + c);

例题:根据用户输入的成绩区分等级,100-90:A,90-80:B,80-70:C,70-60:D,小于60:E

	double score = 0;// 成绩
		char level = 0;// 等级
		Scanner input = new Scanner(System.in);
		System.out.println("请输入成绩:");
		score = input.nextDouble();// 成绩:0-100
		// 问题1:不在正常的成绩范围
		if (score > 100 || score < 0) {// 判断输入的值是0-100以外的数
			System.out.println("成绩是0-100之间的数!");
			return;
		}
		// 能执行到这里,说明是符合要求的值
		// 问题2:条件冗余
		if (score >= 90) {// 条件之间是互斥
			// 问题3:代码块重复
			// System.out.println("A");// 输出
			level = 'A';
		} else if (score >= 80) {
			// System.out.println("B");// 输出
			level = 'B';
		} else if (score >= 70) {
			// System.out.println("C");// 输出
			level = 'C';
		} else if (score >= 60) {
			// System.out.println("D");// 输出
			level = 'D';
		} else {
			// System.out.println("E");// 输出
			level = 'E';
		}
		System.out.println("等级:" + level);// 一次或多次判断,一次输出

 

六、switch-case语句

switch-case语句由一个控制表达式和多个case标签组成,switch-case语句后面的控制表达式的数据类型只能是byte、short、char、int四种整数类型,枚举类型和String(java.lang)类型(从Java7)

例题:根据用户输入的月份判断并显示相应的季节,1-3:春,4-6:夏,7-9:秋,10-12:冬

	int month = 4;// 月份
		char season = 0;// 季节
		Scanner input = new Scanner(System.in);
		System.out.println("请输入月份:");
		month = input.nextInt();
		switch (month) {// key放变量名
		case 1:
			// System.out.println(1);
		case 2:
			// System.out.println(2);
		case 3:
			season = '春';
			break;// 当case执行代码是一样可以只写在最后一个case中
		case 4:
			// break;// 一般情况不能不写break
		case 5:
		case 6:
			season = '夏';
			break;
		case 7:
		case 8:
		case 9:
			season = '秋';
			break;
		case 10:
		case 11:
		case 12:
			season = '冬';
			break;

		default:// 和else功能一样,以上都不符合情况执行代码
			System.out.println("月份有误!");
			return;//一般是break,但是特殊情况也能改
		}
		System.out.println(month + "月是" + season + "天");

 

 

例题:简单的游戏判断

	// 在这个区域的变量,称为成员变量(第三阶段会详细讲解)
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 局部变量
		int num = 0;// 随机数
		int userNum = 0;// 猜数
		int op = 0;// 选项
		String name = null;// 用户名
		Scanner input = new Scanner(System.in);// 扫描器
		System.out.println("欢迎来到游戏乐园");
		System.out.println("请问英雄出处:(大名)");
		name = input.next();
		// next(推荐使用):获得空格、回车或tab之前的有效值
		// nextLine:获得包括空格等一行的值
		System.out.println("请" + name + "进入游戏...");
		System.out.println("1、开始游戏");
		System.out.println("2、查看排行榜");
		System.out.println("0、退出");
		op = input.nextInt();
		switch (op) {
		case 1:
			System.out.println("正在进入战场......");
			System.out.println("敌军正在逼近,请猜测人数:");
			// 随机生成一个数字
			num = 9;// 随机数(伪随机数)
			userNum = input.nextInt();
			if (num != userNum) {
				System.out.println("估算错误!");
				return;
			}
			System.out.println("正确,对敌军进行有效打击!");
			break;
		case 2:
			System.out.println("最新排行榜正在生成...");
			break;
		case 0:
			System.out.println("正在撤离战场......\n静待" + name + "再次归来!");
			System.exit(0);// 退出程序
			break;

		default:
			System.out.println("输入有误!");
			break;
		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值