数组:
格式:数据类型[] 数组名=[new 数据类型[]]{元素1,元素2,。。。};
数组两种初始化方式:
静态初始化:int[] arr={1,2,3,4,5};
动态初始化:int[] arr=new int[3];
建议使用静态数组。
注:if(a.equals(arr[0])&&b.equals(arr[1]))
equals:可进行数组和数据间的比较
int[] arr={22,32,43,33};
double[] arr1={2.2,34,6.66};
string[] arr2={"qq","网络","操作"};
package com.ggj.demo4;
public class test3 {
public static void main(String[] args) {
String[] arr={"22","文字","浏览"};
System.out.println(arr);
}
}
//
[Ljava.lang.String;@1b6d3586//'['代表为数组,‘Ljava.lang.String;‘代表为String类型,’@‘表示分割符,’1b6d3586‘代表十六进制地址
快捷键:itar:
for (int i = 0; i < arr.length; i++) {
String s = arr[i];
}
快捷键:增强for循环
(1)对象.for+回车
(2)iter
数组默认初始化值:
整数:0 小数:0.0 布尔:false 字符:’\u0000‘ 引用类型:null
越界异常:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at com.ggj.demo4.test3.main(test3.java:10)
println:换行
print:不换行
”\t“:空格
”\n“:换行
print和”\t“一起用
冒泡排序:
package com.ggj.demo4;
public class test8 {
public static void main(String[] args) {
int[] arr={55,33,11,88,99};
System.out.println("排序前:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if(arr[j]>arr[j+1])
{
int num=arr[j];
arr[j]=arr[j+1];
arr[j+1]=num;
}
}
}
System.out.println("\n"+"从小到大排序:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
}
//
排序前:
55 33 11 88 99
从小到大排序:
11 33 55 88 99
package com.ggj.demo4;
public class test5 {
public static void main(String[] args) {
int[] arr={1,2,3,4,5,6,7,8,9,10};
System.out.print("数组中元素为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 1) {
arr[i] = arr[i] * 2;
System.out.println("\n"+"修改后第"+(i+1)+"个元素为:"+arr[i]);
} else if (arr[i] % 2 == 0) {
arr[i] = arr[i] / 2;
System.out.println("修改后第"+(i+1)+"个元素为:"+arr[i]);
}
}
}
}
package com.ggj.demo4;
import java.util.Scanner;
public class test11 {
public static void main(String[] args) {
String[] arr={"ggj","123456"};
for(int i=1;i<=3;i++)
{
System.out.println("请输入用户名:");
Scanner s=new Scanner(System.in);
String a=s.next();
System.out.println("请输入密码:");
Scanner sn=new Scanner(System.in);
String b=s.next();
//if(a==arr[0]&&b==arr[1])//比较地址
if(a.equals(arr[0])&&b.equals(arr[1]))//比较内容
{
System.out.println("欢迎登录!");
break;
}else{
System.out.println("输入错误!您还有"+(3-i)+"次机会");
}
//用数组保存用户信息的话,if的关系表达式用equals结果正确,但是用==的话结果就错了(可以运行,但没报错)为什么?
}
}
}
package com.ggj.demo5;
import java.util.Scanner;
public class test10 {
public static void main(String[] args) {
int[] arr = {34, 23, 145, 23, 65, 34, 43};
Scanner s = new Scanner(System.in);
System.out.println("请输入一个数:");
int a = s.nextInt();
getnum(arr,a);
}
public static void getnum(int[] arr, int a)
{
for (int i = 0; i < arr.length; i++) {
if(arr[i]==a)
{
System.out.println(a+"的下标为:"+i);
break;
}
}
}
}