zoukankan      html  css  js  c++  java
  • Java 数组 字符 函数

    一、

    1、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);//创建扫描器
    		int[] numbers=new int[100];//数组
    		
    		double sum=0;
    		for(int i=0;i<5;i++)//输入5个数
    		{
    			int x=in.nextInt();
    			numbers[i]=x;
    			sum+=x;
    		}
    		double  aveg=sum/5;
    		System.out.println("平均值为:"+aveg);
    		System.out.println("大于平均值的数为:");
    		for(int i=0;i<5;i++)
    		{
    			if(numbers[i]>aveg)
    			{
    				System.out.println(numbers[i]);
    			}
            in.close();//关闭扫描器
    	    }
    	}
    }
    

     2、遍历

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);//创建扫描器
    		int[] numbers= {1,2,3,4,4,6};//数组。直接初始化赋值
    		System.out.println("数组长度:"+numbers.length);
    		for(int i=0;i<numbers.length;i++)
    		{
    			System.out.print(numbers[i]+" "); //区别println 和print区别,一个是输出换行,一个不换行
    		}
    	}
    }
    

    二、

    1、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);//创建扫描器
    		int[] a1= {1,2,3,4,5,6};//数组
    		int[] a2=a1;//将a1和a2共同指向一个数组
    		for(int i=0;i<a1.length;i++)
    		{
    			a1[i]++;
    		}
    		for(int i=0;i<a2.length;i++)
    		{
    			System.out.print(a2[i]+" ");
    		}
    	}
    }
    

    可以看到a1和a2其实是指向了共同的地址,所以a1变化后,a2数组也跟着变。

    2、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);//创建扫描器
    		int[] a1= {1,2,3,4,5,6};//数组
    		int[] a2= {1,2,3,4,5,6};
    		int[] a3=a1;
    		System.out.println("a1==a2? "+(a1==a2));
    		System.out.println("a1==a3? "+(a1==a3));
    	}
    }
    

    可以看到。a1和a2虽然值一样,但是存储位置是不同的,所以,第一个是false

    而a1和a3指向了同一个位置,所以第二行是true。

    从上面可以看到不能简单的只是==来判断是否元素相同,需要遍历才可以

    3、

    要想得到一样的数值,但是位置不一样,只能是遍历才可以。

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);//创建扫描器
    		int[] a1= {1,2,3,4,5,6};//初始化赋值数组
    		int[] a2=new int[a1.length];//new 生成一个新位置数组
    		for(int i=0;i<a2.length;i++)  //遍历复制
    		{
    			a2[i]=a1[i];
    		}
    		boolean IsEqu=true;//假定各个元素是相等
    		for(int i=0;i<a2.length;i++)  
    		{
    			if(a1[i]!=a2[i])
    			{
    				IsEqu=false;//只要出现不相等,就 false
    				break;
    			}
    		}
    		System.out.println("a1==a2? "+IsEqu);
    	}
    }
    

    三、

    1、统计数字出现的个数

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);//创建扫描器
    		int[] Num=new int[10];
    		int x;
    		x=in.nextInt();
    		while(x!=0)
    		{
    			if(x>=0 && x<=9)
    			{
    				Num[x]++;
    			}
    			x=in.nextInt();
    		}
    		for(int i=0;i<10;i++)
    		{
    			System.out.println(i+": "+Num[i]);
    		}
    		in.close();
    	}
    }

    2、新的遍历方式

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int[] num= {1,2,3,4,5};
    		for(int k:num)
    		{
    			System.out.println(k);
    		}
    	}
    }
    

    3、二维数组

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		int[][] num=new int[2][3];
    		for(int i=0;i<2;i++)
    		{
    			for(int j=0;j<3;j++)
    			{
    				num[i][j]=in.nextInt();
    			}
    		}
    		for(int i=0;i<2;i++)
    		{
    			for(int j=0;j<3;j++)
    			{
    				System.out.print(num[i][j]+" ");
    			}
    			System.out.println();
    		}
    		in.close();
    	}
    }
    

    4、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		int[][] num=new int[3][3];
    		
    		for(int i=0;i<2;i++)//输入
    		{
    			for(int j=0;j<3;j++)
    			{
    				num[i][j]=(int) Maht.round(Math.random());//随机生成
    			}
    		}
    		
    		for(int i=0;i<3;i++)//读取
    		{
    			for(int j=0;j<3;j++)
    			{
    				System.out.print(num[i][j]+" ");
    			}
    			System.out.println();
    		}
    		
    		int flag0=0;//判断标志位
    		int flagx=0;
    		
    		for(int i=0;i<3;i++)//判断行是否一致
    		{
    			if(num[i][0]==0 && num[i][1]==0 && num[i][2]==0)
    			{
    				flag0=1;
    			}
    			else if(num[i][0]==1 && num[i][1]==1 && num[i][2]==1)
    			{
    				flagx=1;
    			}
    		}
    		
    		for(int i=0;i<3;i++)//判断列是否一致
    		{
    			if(num[0][i]==0 && num[1][i]==0 && num[2][i]==0)
    			{
    				flag0=1;
    			}
    			else if(num[0][i]==1 && num[1][i]==1 && num[2][i]==1)
    			{
    				flagx=1;
    			}
    		}
    		
    		
    		if(num[0][0]==0 && num[1][1]==0 && num[2][2]==0)//正对角线
    		{
    			flag0=1;
    		}
    		else if(num[0][0]==1 && num[1][1]==1 && num[2][2]==1)
    		{
    			flagx=1;
    		}
    		
    		if(num[0][2]==0 && num[1][1]==0 && num[2][0]==0)//斜对角线
    		{
    			flag0=1;
    		}
    		else if(num[0][2]==1 && num[1][1]==1 && num[2][0]==1)
    		{
    			flagx=1;
    		}
    		
    		if(flag0==1 && flagx==0)
    		{
    			System.out.println("O win");
    		}
    		else if(flag0==0 && flagx==1)
    		{
    			System.out.println("X win");
    		}
    		else
    		{
    			System.out.println("平局");
    		}
    		
    		in.close();
    	}
    }
    

    ************************************************************************************************************************** 

    四、字符 (单引号)

    1、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		char a='A';
    		System.out.println(a);
    		System.out.println((int)a);
    		char b='u0041';//unicode编码,16进制 1+4*16=65
    		System.out.println(b);
    		System.out.println(b+1);//编码对应的值加1
    		b++;
    		System.out.println(b);
    		
    		char c='王';
    		System.out.println(c);
    		System.out.println(c+1);
    		c++;
    		System.out.println(c);//Unicode表中王的下一个字
    		
    		in.close();
    	}
    }
    

    2、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		char a='A';
    		char b='a';
    		System.out.println(a-b);//a比A位置编号大32
    		
    		char c='b';
    		System.out.println((char)(c-32));
    		in.close();
    	}
    }
    

    五、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		System.out.println(Character.isDigit('1'));//是不是数字
    		System.out.println(Character.isLetterOrDigit(' '));//是不是数字或者字母
    		System.out.println(Character.toUpperCase('a'));//小写换大写
    		in.close();
    	}
    }
    

    六、

    Math类

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		System.out.println(Math.random());//随机数
    		System.out.println(Math.abs(-12));//绝对值
    		System.out.println(Math.round(2.3));//四舍五入
    		System.out.println(Math.round(2.6));
    		System.out.println(Math.pow(2,3));//乘方
    		in.close();
    	}
    }
    

    *************************************************************************************************************

    六、字符串(双引号)

    1、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		String s=new String("hello");
    		System.out.println(s+" world");
    		
    		String a;
    		a=in.nextLine();//得到一整行
    		System.out.println(a);
    		a=in.next();//得到一行第一个空格前的内容
    		System.out.println(a);
    		in.close();
    	}
    }
    

    2、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		
    		String a;
    		a=in.nextLine();
    		System.out.println(a);
    		System.out.println(a=="bye");//两个字符串位置比较,是不是同一个东西
    		System.out.println(a.equals("bye"));//两个字符串内容比较
    		
    		in.close();
    	}
    }
    

    3、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		
    		String a;
    		String b;
    		a="abc";
    		b="abcd";
    		System.out.println(a.compareTo(b));//比较大小
    		System.out.println("Abcd".compareTo(b));//比较大小 A比a小32
    		
    		System.out.println(a.length());//字符长度
    		
    		for(int i=0;i<a.length();i++)//得到字符
    		{
    			System.out.println(a.charAt(i));
    		}
    		
    		String s="12345abcdef";
    		System.out.println(s.substring(2));//从2号下标到结尾
    		System.out.println(s.substring(2,4));//从2号下标到4号下标之前
    		
    		
    		in.close();
    	}
    }
    

    比较是两个字符位置相减:-32 是A比a 小32。

    4、

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		
    		String s="123451abcdef";
    		System.out.println(s.indexOf('1'));//寻找字符,单引号
    		System.out.println(s.indexOf('A'));
    		int loc=s.indexOf('1');
    		System.out.println(s.indexOf('1',loc+1));//从loc+1的位置重新开始找,注意加1
    		
    		System.out.println(s.indexOf("345"));//寻找字符串双引号
    
    		in.close();
    	}
    }
    

     5、不变性

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	private static final Math Maht = null;
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		
    		String s="abcdef";
    		String s1=s.toUpperCase();
    		System.out.println(s);//s没发生改变
    		System.out.println(s1);//
    		in.close();
    	}
    }
    

    6、

     ********************************************************************************************************************************

    七、函数

    package Hello;
    
    import java.util.Scanner;
    
    public class hello_test {
    
    	public static boolean IsPrim(int n) //判断是否是素数的函数
    	{
    		boolean Is=true;
    		for(int i=2;i<=Math.sqrt(n);i++)
    		{
    			if(n%i==0)
    			{
    				Is=false;
    				break;
    			}
    		}
    		return Is;	
    	}
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner in=new Scanner(System.in);
    		int n=in.nextInt();//输入素数的个数
    		int[] Num=new int[n];//存放素数的数组
    		int i=0,num=2;
    		while(i<n)
    		{
    			if(IsPrim(num))
    			{
    				Num[i]=num;
    				i++;
    			}
    			num++;
    		}
    		for(int j=0;j<n;j++) //输出数组
    		{
    			System.out.print(Num[j]+" ");
    		}
    		in.close();
    	}
    }
    

     可以看到函数是和main()并列的。存在class下。

  • 相关阅读:
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
  • 原文地址:https://www.cnblogs.com/ruo-li-suo-yi/p/9147046.html
Copyright © 2011-2022 走看看