Java基础学习
1.Java基础
1.1搭建Java程序开发环境
.在编写程序前,需要把相应的开发环境搭建好。开发环境搭建包括下载并安装java开发工具包(JavaSE Development Kit , JDK)、安装运行环境及配置环境变量。安装了JDK以后,才能对编写的Java源程序进行编译,而在安装了运行时环境后才能运行二进制的.class文件。
java工具包下载:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk下载环境配置参见:
https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
1.2 Java 开发工具eclipse
eclipse是功能强大Java集成开发工具,它可以极大地提升我们的开发效率,可以自动编译,检查错误。1.2.1 eclipse的下载、安装、卸载
安装 (只需要解压后就能使用)
卸载(只需要将文件夹删除就可以了)
注意: 开发软件的安装目录中,尽量不要出现空格与中文
1.2.2 eclipse的使用
此处小白就不一 一示范说明了,eclipse具体基本使用参见:
https://www.cnblogs.com/guodong-wang/p/7113046.html
2. java基础编程案例
A. 编程实现1+2+3+…+100
“`
public static void main(String[] args){
int sum=0; //声明一个整型变量,并赋值0
int i=1; //定义循环变量并赋值为1
for( ;i<=100;i++){ //循环语句,当i<=100时,循环继续
sum+= i; //即sum=sum+i,将i的值累加存入sum
}
System.out.println("1+2+3+4+5+......+99+100 = "+sum); //输出累加结果sum即为和(sum前的+号连接前后字符串)
}
}
“`
运行结果:
B .编程实现1+3+5+7+9+…+101
public class Text2{
public static void main(String[] args)
{
int sum=0; //声明整型变量sum,赋值为0
int i=0; //声明循环变量,赋值为0
for(;i<=101;i++){ //循环语句,当i<=101时,循环继续
if(i%2!=0); //如果i除以2的结果取余后不等于0,则执行下一条指令
sum+=i; //即sum=sum+i,将i的值累加存入sum
}
System.out.println("1+3+5+......+99+101 = "+sum);//输出累加结果sum即为和
}
}
运行结果:
C. 编程实现输出10个随机整数,值在0到100之间。
public class Text3
{
public static void main(String[] args){
int i=0;
int []array = new int[10]; //定义一个整形数组array[],数组长度为10
for(;i<10;i++) { //循环语句,当i<10时,循环继续
int numb=(int)(Math.random()*100); //随机输出100以内的一个整数存入numb
array[i]=numb; // 将numb中的整数放至数组中
System.out.println(array[i]); //输出随机数组
}
}
}
运行结果:
D. 对C步的10个随机整数并行排序。
(思路:冒泡排序)
public class Text3
{
public static void main(String[] args)
{
int i=0;
int []array = new int[10]; //定义一个整形数组array[],数组长度为10
for(;i<10;i++) //循环语句,当i<10时,循环继续
{
int numb=(int)(Math.random()*100); //随机输出100以内的一个整数存入numb
array[i]=numb; // 将numb中的整数放至数组中
}
//对随机整数进行排序:外层循环j控制循环次数,每次外层循环把最大的一个数取出来放到最后边
for(int j=0;j<10;j++)
{
//内层循环k判断哪个数最大,把最大的数移动到数组末,一次循环冒泡出一个最值
for(int k=0;k<10-1-j;k++)
{
if(array[k]>array[k+1])
{
//通过一个中间变量exchange交换两个数组中的数,较大数存array[K+1],较小数存array[k]
int exchange=array[k];
array[k]=array[k+1];
array[k+1]=exchange;
}
}
}
//经排序后,按从小到大的顺序输出数组中的十个数
for(int n=0;n<10;n++)
{
System.out.println(array[n]);
}
}
}
运行结果:
E.设有两字串构成的集合,字符串内容值为
A:{a,b,c,d,e,f,g,in,off,about,get}
B:{f,g,a,come,get,go}
求出:
(1)AB集合的交集。(2)只在A集中出现的字串集合。(3)AB集合的并集。
(此源程序参考百度案例)
import java.util.Arrays;
import java.util.List;
public class Text5 {
public static void main(String[] args) {
//创建字符串数组,并赋值
String[] arr1 = {"a","b","c","d","e","f","g","in","off","about","get"};
String[] arr2 = {"f","g","a","come","get","go"};
//测试交集,调用交集方法
String[] arr3 = intersect(arr1,arr2);
System.out.print("AB集合的交集如下:");
for(int i=0;i<arr3.length;i++) {//遍历输出结果字符串数组
if(arr3[i] != null) {
System.out.print(arr3[i]+" ");
}
}
System.out.println();
//测试只有A中有,调用method方法
String[] arr4 = method(arr1,arr2);
System.out.print("只在A集中出现的字串集合如下:");
for(int i=0;i<arr4.length;i++) {//遍历输出结果字符串数组
if(arr4[i] != null) {
System.out.print(arr4[i]+" ");
}
}
System.out.println();
//测试并集,调用union方法
String[] arr5 = union(arr1,arr2);
System.out.print("AB集合的并集如下:");
for(int i=0;i<arr5.length;i++) {//遍历输出结果字符串数组
if(arr5[i] != null) {
System.out.print(arr5[i]+" ");
}
}
}
//(1)AB集合的交集。
public static String[] intersect(String[] a1,String[] a2) {
String[] a3 = new String[10];//创建字符串数组对象
//(存在缺陷,不够灵活,不知道该数组中元素个数)
int k = 0;
for(int i=0;i<a1.length;i++) {
for(int j=0;j<a2.length;j++) {
if(a1[i].equals(a2[j])) {//判断两元素是否相同
a3[k] = a1[i];//相同则记录到新的数组中
k++;
}
}
}
return a3;
}
//(2)只在A集中出现的字串集合。
public static String[] method(String[] a1,String[] a2) {
String[] a3 = new String[10];//创建字符串数组对象
int k = 0;
for(int i=0;i<a1.length;i++) {
List<String> list = Arrays.asList(a2);//将字符串数组a2转换成list
if(!list.contains(a1[i])) {//调用list的contains方法,判断list中是否含有某元素
a3[k] = a1[i];//不含,则记录到新数组中
k++;
}
}
return a3;
}
//(3)AB集合的并集。
public static String[] union(String[] a1,String[] a2) {
String[] a3 = new String[20];//创建字符串数组对象
System.arraycopy(a1, 0, a3, 0, a1.length);
int k = a1.length;
List<String> list = Arrays.asList(a1);
for(int i=0;i<a2.length;i++) {
if(!list.contains(a2[i])) {
a3[k+1] = a2[i];
k++;
}
}
return a3;
}
}
运行结果: