Java SE基础(一)简介及语法

本文介绍了JavaSE的基础知识,包括Java语言的历史背景、跨平台原理、基本语法、数据类型、常量与变量的概念,并通过实例演示了如何编写和运行Java程序。

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

Java语言背景

Java之父:詹姆斯·高斯林。
Java由Sun公司推出,后被Oracle收购。
JavaME可以做嵌入式设备的软件开发,如:开发老诺基亚手机的塞班系统应用。现已被淘汰。
Java EE用作B/S架构的web开发及服务器后台开发。
JavaSE是基础,可以用来做桌面开发、大数据开发等。大数据开发的架构很多都是由Java开发的。

Java语言跨平台原理

Java语言是一次编译到处运行。跨平台是由于不同平台具有不同的JVM(Java虚拟机),JVM本身是不能跨平台的。

编写Java

简单的程序可以将写好文本内容的txt改后缀为Java即可。JRE为JVM+Java核心类库。

编译Java

需要用到JDK。JDK为JRE+开发工具。开发工具包含有编译工具(javac)。

运行Java

需要Jre。JRE中包含运行工具(java)。

JDK、JRE与JVM

JDK包含JRE及开发工具。JRE包含JVM及Java核心类库。

Java编写HelloWorld

public class HelloWorld { 
	public static void main(String[] args) { 
		System.out.println("Hello World"); 
	} 
} 

Java语法与C#大体相同。
在txt写好后改后缀为HelloWorld.java(注意:文件名需与类名一字不差,否则会报错)。
使用win+r输入cmd进入cmd模式,E:进入E盘符,dircd 目录名进入该java文件的目录,使用javac HelloWorld.java编译成机器码,可以发现该文件夹内出现了HelloWorld.class,使用java HelloWorld回车即可执行。发现cmd中出现了HelloWorld字眼。
在这里插入图片描述
在这里插入图片描述

也可以使用Notepad++,在设置首选项中进行如图所示的设置。写好Java代码后在此处右键,使用命令行打开,打开后的cmd已经将目录切换为该java文件所在的目录。

Java中的常量

字符串常量

使用 "内容" 格式,利用英文双引号将内容引起来,内容可以是中文。

字符常量

'内容' 格式,利用英文单引号将内容引起来,内容可以是中文。但内容只能是一个字符,如 “A”,‘a’,‘啊’。

整数常量

固定不变的整数,如:55555。

小数常量

固定不变的小数,如:12345.654321。

布尔常量

类型boolean,值只有true与false。

空常量

null不能使用println单独打印!!!

Java中的变量

Java为强类型语言,不可以像C#中使用var(Java10以后可以)。

Java的数据类型

基本数据类型

在这里插入图片描述

数值型

浮点数:float,double。
字符:char。

整数

byte,short,int,long。与嵌入式C中的int不同,嵌入式C的int最大为65535,Java的整数默认为int(32位),使用long需要在数字后+L或l。由于l易与1混淆,一般选用 数字+L 的格式。

浮点数

float,double。默认为double,使用float需在小数后+F或者f。

字符

char。

非数值型

布尔

引用数据类型

接口

数组

Java中的标识符

标识符是用来给变量、方法、类取名的符号。
只能由 数字、英文字母(区分大小写)、下划线_、美刀$ 组成。不能由数字开头,也不能用关键字当标识符。
一般用Pascal命名法,或者驼峰法(小驼峰法:首字母小写,后边单词的首字母大写,常用于方法/变量。大驼峰法:首字母与后续单词的首字母都大写,常用于类的命名)。

Java键盘录入

Java不能直接读取键盘,需要先引入包,再创建对象及获取数值。

//导入包
import java.util.Scanner;
//创建对象
Scanner sc = new Scanner(System.in); 
//接收数据
int a = sc.nextInt();

小试身手

输出随机数及计算平均值。

//导入包
import java.util.Scanner;

public class test0002{
public static void main(String[] args){
	System.out.println("Hello World1");
	 int num=0;
	 double sum=0.0,avg=0;
	 System.out.print("本程序用来输出随机数,输入随机次数");
	 //创建对象
	 Scanner sc = new Scanner(System.in); 
	 //接收数据
	 int counter = sc.nextInt();
	 System.out.println("随机次数="+counter+"/n");
	 System.out.print("本程序用来输出随机数,输入最大随机数");
	 //Scanner sc = new Scanner(System.in); 
	 int maxrandom = sc.nextInt();
	 System.out.println("随机次数="+maxrandom+"/n");
	 
        for (int i = 1; i <= counter; i++) {
            //2.获取随机数, 并打印
			//随机输出1~maxrandom的整数
            num = (int)(Math.random()*maxrandom + 1);
            System.out.println("第"+i+"次随机数:"+num+"\n");
			
			sum+=num;
			System.out.print("第"+i+"次总和:"+sum+"\n");
			avg=sum/i;
			System.out.print("第"+i+"次局部平均值:"+avg);
			System.out.println();
        }
		System.out.print("最终平均值="+avg);
}}

我使用

javac test0002.java
java test0002
pause

重命名为run.bat,即可双击执行相同目录下test0002.java的编译及test0002.class的运行。

//导入包
import java.util.Scanner;

public class test0002{
public static void main(String[] args){
	System.out.println("Hello World1");
	 int num=0;
	 double sum=0.0,avg=0;
	 //System.out.print("本程序用来输出随机数,输入随机次数");
	 //创建对象
	 Scanner sc = new Scanner(System.in); 
	 while (true) {
	 //接收数据
	 System.out.print("本程序用来输出随机数,输入随机次数");
	 int counter = sc.nextInt();
	 System.out.println("随机次数="+counter);
	 System.out.print("本程序用来输出随机数,输入最大随机数");
	 //Scanner sc = new Scanner(System.in); 
	 int maxrandom = sc.nextInt();
	 System.out.println("随机次数="+maxrandom);
	 if(counter>=59999) {
		 break;
	 }
	 num=0;
	 sum=0.0;avg=0;
	 
        for (int i = 1; i <= counter; i++) {
            //2.获取随机数, 并打印
			//随机输出1~maxrandom的整数
            num = (int)(Math.random()*maxrandom + 1);
            System.out.print("第"+i+"次随机数:"+num);
			
			sum+=num;
			System.out.print("第"+i+"次总和:"+sum);
			avg=sum/i;
			System.out.print("第"+i+"次局部平均值:"+avg);
			System.out.println();
        }
		System.out.print("最终平均值="+avg);
}}}

也可以加入一个while的死循环,方便多次测试。跳出死循环的条件我选择循环次数>=59999。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值