Java,作为世界上最受欢迎的编程语言之一,已经成为了许多开发人员首选的编程语言。它具有跨平台性、面向对象、安全性和易于学习等特点,广泛应用于Web开发、移动应用程序开发、游戏开发、大数据和人工智能等领域。本文将为您介绍Java的基础知识,以及一些常见的应用场景。
一、Java基础
1.概述
Java是一种静态类型、面向对象的编程语言。它提供了丰富的API和工具,使得开发人员能够快速构建高效、可扩展的应用程序。Java应用程序通常运行在Java虚拟机(JVM)上,可以在不同的操作系统上运行,从而实现跨平台性。
2.语法基础
Java语法主要包括变量、数据类型、运算符、控制流、函数等。其中,变量是用来存储数据的标识符,数据类型则决定了变量的存储方式和取值范围。运算符用于对变量进行计算,控制流则用于控制程序的执行流程。函数是用来封装一段代码,以便重复使用。
示例代码:
public class HelloWorld {
public static void main(String[] args) {
// 定义一个整数变量并赋值为10
int a = 10;
// 定义一个浮点数变量并赋值为20.5
float b = 20.5f;
// 定义一个字符串变量并赋值为"Hello, World!"
String str = "Hello, World!";
// 使用System.out.println输出字符串
System.out.println(str);
}
}
3.面向对象编程
Java是一种面向对象的编程语言,支持类和对象的概念。类是对象的模板,定义了对象的属性和方法。对象是类的实例,具有类所定义的特征和行为。在Java中,一切皆对象,包括数组、基本类型和自定义类型等。
示例代码:
public class Circle {
// 定义属性:半径和圆周率
private double radius;
private static final double PI = 3.141592653589793;
// 构造方法,用于创建Circle对象并初始化半径
public Circle(double radius) {
this.radius = radius;
}
// 定义方法:计算圆的面积和周长
public double getArea() {
return PI * radius * radius;
}
public double getCircumference() {
return 2 * PI * radius;
}
}
二、Java应用场景
- Web开发:Java是一种流行的Web开发语言,具有丰富的框架和工具,如Spring、Hibernate和Struts等。通过这些框架和工具,开发人员可以快速构建高性能、可扩展的Web应用程序。
- 移动应用程序开发:Java是Android应用程序开发的主要语言之一。通过使用Android Studio和相关框架,开发人员可以创建各种类型的Android应用程序,如社交网络、电子商务和游戏等。
- 游戏开发:Java有大量的游戏开发框架和引擎,如LibGDX和JMonkeyEngine等。这些框架提供了丰富的功能和工具,使得开发人员能够快速构建高质量的游戏。
三、下面是一个简单的数组介绍以及练习
什么是数组(Array)
在执行程序的过程中,经常要存储大
量相同类型的数据。
如︰要读入100个数,计算平均值,然后找出有多少个数大于平均值。
(1)程序读入这些数并计算它们的平均值
(2)将每个数与平均值进行比较判断它是否大于平均值。
为了完成任务,必须将全部数据存储到变量中。声明100个变量,重复写书100次几乎完全相同的代码,这个方式是不现实。
Java和其他编程语言一样提供了数组来存储这些数据。
数组是一组具有相同类型和名称的变量的有序集合
组成数组的这些变量称为数组的元素,一个数组可以含有若干个元素。下标也叫索引(Index),用来指出某个元素在数组中的位置。
数组中第一个元素的下标默认为0,第二个元素的下标为1,依次类推。如果某一数组有n个元素,则其最大下标为n-1。
—维数组的创建
语法格式:
数据类型[]数组名= new 数据类型[长度];
例︰
int[] score=new int[5];
或者
数据类型[]数组名﹔
数组名=new数据类型[长度];例:
int[] score;
score=new int[5];
—维数组的初始化:
为数组元素赋初值的语法形式∶
数据类型 [] 数组名 = new 数据类型 [] {初值列表};
数据类型 [] 数组名= {初值列表};
数组元素的引用
使用数组名与下标(索引)可以唯一确定数组中的某个元素,从而实现对该元素的访问。例如∶
int num1 = 4,num2 = 5;
int[ ] array = { 1,2,3 };
num1 = array[0];//使用数组第1个元素的值为其他变量赋值array[1] = num2;/l为数组第2个元素赋值
在访问数组元素时,要注意不要使下标越界,例如∶int[]array = new int[5];
array[5] = 15;l/下标越界
下标越界出错信息
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at ArrayDemo.main(ArrayDemo.java:6)
读程练习
阅读程序,说明程序运行结果
程序举例一
从键盘输入10个整数存入数组中,求该数组中最大元素及所在下标。
程序举例二
一副牌52张(不含大小王),洗牌后,显示前四张牌牌面。
冒泡排序法小结∶
5个元素需要进行4轮比较,第一轮比较次数为4次。随着轮数增加,比较次数递减。
n个元素需要进行n-1轮比较,第一轮比较次数为n-1次。随着轮数增加,比较次数递减。
如果需要进行降序排序,将比较条件aj]>a[j+1]修改为a[j]<aj+1]。
冒泡排序法的通用写法
数组在内存中的存储
foreach循环
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,任何的foreach语句都可以改写为for语句。foreach不是一个关键字,习惯上将这种特殊的for语句格式称之为foreach语句。
数据类型要和数组或集合数据类型相匹配循环次数由集合的元素个数决定
每次迭代变量会依次取得元素值迭代恋量为只徒峦量.不可赋值
语句格式如下:
for (int item
: numbers){
//语句;
int[ ]numbers={3,5,6,7,1};
for(数据类型变量:数组或集合){
system.out.print(item+"\t");
}
foreach循环
异同点
for与foreach均能对数组进行遍历
for通过变换数组下标的形式访问数组元素,因此可改变数组元素的值foreach通过迭代变量的形式读取数组元素,故不
能改变数组元素的值。
实训练习
1.设有以下两组数:
第一组:2,6,3,8,7,34,21,5,47,20
第二组:33,56,3,45,24,31,7,9,12,37
把上面两组数分别读入两个一维数组中,先输出这两个数组的值,然后把两数组中对应下标的元素相加,并把相应结果放入第三个数组,最后输出第三个数组的值。
public class Array {
public static void main(String[] args) {
// TODO 自动生成的方法存根
int[] array1 = { 2, 6, 3, 8, 7, 34, 21, 5, 47, 20 };
int[] array2 = { 33, 56, 3, 45, 24, 31, 7, 9, 12, 37 };
System.out.println("第一组数: ");
for (int i : array1) {
System.out.print(i + " ");
}
System.out.println();
System.out.println("第二组数: ");
for (int i : array2) {
System.out.print(i + " ");
}
System.out.println();
int[] array3 = new int[array1.length];
for (int i = 0; i < array1.length; i++) {
array3[i] = array1[i] + array2[i];
}
System.out.println("两数组对应下标元素之和: ");
for (int i : array3) {
System.out.print(i + " ");
}
}
}