来到广州实习的第一天,我选择的是JavaEE,因为以后的方向是Java,所以就选择了它。感觉有一段时间没有接触Java了。趁此机会好好努力,将基础巩固好。
Java输入及循环,判断,字符转换,数组定义及输出
实例一:
1 package com.lanou.one; 2 3 import java.util.Scanner; 4 5 //一个文件中只能有一个被public修饰的类,该类必须与文件名相同,可以有多个class 6 7 public class Demo1 { 8 // 主函数提供程序入口,执行代码 9 public static void main(String[] args) { 10 System.out.println("Hello World~"); 11 // 输入一个数据,并表示其年份为闰年 12 Scanner scanner = new Scanner(System.in); 13 int num = scanner.nextInt(); 14 15 if (num % 4 == 0 && num % 100 != 0 || num % 400 == 0) { 16 System.out.println("该数字表示的年份为闰年!"); 17 }else { 18 System.out.println("该数字表示的年份不为闰年!"); 19 } 20 21 } 22 }
!输入数据需要scanner类:
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
实例二:
1 package com.lanou.one; 2 3 import java.util.Scanner; 4 5 public class Demo2 { 6 //输入一个小数,求整数部分,并计算整数部分每一位整数值之和 7 public static void main(String[] args) { 8 Scanner scanner = new Scanner(System.in); 9 double num = scanner.nextDouble(); 10 //整数部分 11 int a,b ,i,sum=0; 12 a = (int) (num/1); 13 System.out.println(a); 14 15 //将整数部分转化为字符串,并转为数组 16 String s = Integer.toString(a); 17 char[] strs =s.toCharArray(); 18 19 //循环加入,求和 20 for(i=0;i<s.length();i++){ 21 b=Integer.parseInt(String.valueOf(strs[i])); 22 sum=sum+b; 23 } 24 System.out.println(sum); 25 } 26 27 }
!int ,string类型的相互转化:
int------>string
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
string------>int
1). int i = Integer.parseInt([String]);
2). int i = Integer.valueOf(my_str).intValue();
实例三:
1 package com.lanou.one; 2 3 public class Demo3 { 4 5 public static void main(String[] args) { 6 //输出1-50中个位不为4的偶数,每输出五个换行 7 int i,a,b=0; 8 for(i=1;i<51;i++){ 9 a=i%10; 10 if(a!=4 && i%2==0){ 11 System.out.print(i+" "); 12 b++; 13 if(b%5==0){ 14 System.out.println(); 15 } 16 } 17 } 18 } 19 }
实例四:
1 package com.lanou.one; 2 3 public class Demo4 { 4 //使用while循环遍历数组 5 6 /*定义一个数组 7 * 通过下标访问元素 8 * 数组只可以存放相同类型的数据 9 * 数组长度不可变 10 * */ 11 12 public static void main(String[] args) { 13 int[] arr = new int[]{1,2,3,5,6,7}; 14 int i=0; 15 while (i<arr.length) { 16 System.out.println(arr[i]); 17 i++; 18 //break 跳出循环 19 //continue 跳出本次循环 20 } 21 } 22 }
! 有关数组的定义:
1.String []a = new String[length];
2.String []a = new String[length]{?,?,?,?,.......};
3.String []a = {?,?....};
另:关于static
static静态方法访问静态量。
静态方法有两个主要限制。它们分别是:
1.静态方法不能直接使用非静态数据成员或调用非静态方法;
2.this和super两个关键字不能在静态上下文中使用;
实例五:
1 package com.lanou.one; 2 3 public class Demo5 { 4 //求数组中最大值和最小值 5 //排序 6 //求平均值 7 public static void main(String[] args) { 8 9 int[] arr = new int[]{1,21,56,8,0,6,2,7}; 10 int i,j,a,b=0; 11 for(i=0;i<arr.length-1;i++){ 12 for(j=i+1;j<arr.length;j++){ 13 if(arr[i]<arr[j]){ 14 a=arr[i]; 15 arr[i]=arr[j]; 16 arr[j]=a; 17 } 18 } 19 } 20 System.out.println("最大值为:"+arr[0]); 21 System.out.println("最小值为:"+arr[arr.length-1]); 22 for(i=0;i<arr.length;i++){ 23 System.out.print(arr[i]+" "); 24 b=b+arr[i]; 25 } 26 System.out.println(); 27 System.out.println("平均值为:"+b/arr.length); 28 } 29 }
实例六:
1 package com.lanou.one; 2 3 public class Demo6 { 4 5 /** 6 *将一个数插入到一个数组的指定位置的后面 7 */ 8 public static void main(String[] args) { 9 //在5的后面添加100 10 int[] arr = new int[]{1,3,4,5,9}; 11 int []brr = new int[arr.length+1]; 12 int i,a=0,j; 13 for(i=0;i<arr.length;i++){ 14 if(arr[i]==5){ 15 a=i; 16 break; 17 } 18 } 19 for(i=0;i<a+1;i++){ 20 brr[i] = arr [i]; 21 } 22 23 brr[a+1]=100; 24 25 for(j=a+2;j<arr.length+1;j++,i++){ 26 brr[j]=arr[i]; 27 } 28 for ( i = 0; i < brr.length; i++) { 29 System.out.println(brr[i]); 30 } 31 32 } 33 34 }
实例七:
1 package com.lanou.one; 2 3 import java.util.Scanner; 4 5 public class Demo7 { 6 7 /** 8 * 输入一个字符串,将字符串转换为大写 9 */ 10 public static void main(String[] args) { 11 12 String str1 = "hello welcome to guangzhou"; 13 String str2[] = str1.split(" ");//按照空格分割字符串 14 StringBuilder str3 = new StringBuilder();//用于多次修改,减少内存占用 15 16 for (int i = 0; i < str2.length; i++) { 17 String t = str2[i].substring(0,1).toUpperCase()+str2[i].substring(1)+" "; 18 19 str3.append(t);//连接字符串 20 } 21 System.out.println(str3); 22 23 } 24 }
在java.lang包中有String.split()方法,返回是一个数组
我在应用中用到一些,给大家总结一下,仅供大家参考:
1、如果用“.”作为分隔的话,必须是如下写法,String.split("\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法,String.split("\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如,“acount=? and uu =? or n=?”,把三个都分隔出来,可以用String.split("and|or");
使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。
以上是Java的基础语法以及基础的运用。
课后练习:
1:
0-100之间的素数个数并输出
package com.lanou.one; public class Practice1 { /** * 0-100之间的素数个数并输出 */ public static void main(String[] args) { int i,j,k=0,p=1; int []sushu = new int[30]; for(i=2;i<=100;i++){ for(j=2;j<=i/2;j++){ if(i%j==0){ p=0; break; } } if(p==1){ sushu[k]=i; k++; } p=1; } System.out.println(k); for(i=0;i<k;i++){ System.out.print(sushu[i]+" "); } } }
2.
创建二维数组编程查找是否存在鞍点并输出
package com.lanou.one; public class Practice2 { /** * 创建二维数组编程查找是否存在鞍点并输出 行中最大、列中最小 */ public static void main(String[] args) { int[][] a = {{2,3,11},{4,5,9},{6,7,10}}; int m=0,n=0; //行和列 for(int i=0;i<a.length;i++){ //有多少行 int max = a[i][0]; boolean flag = true;//该行是否存在鞍点 for(int j=1;j<a[i].length;j++){ //该行有几列 if(a[i][j]>max){ max=a[i][j]; m=i; n=j; } } for(int k=0;k<a.length;k++) //查看max是否为该列最小 { if(a[k][n]<max){ flag = false; break; } } if(flag){ System.out.println("鞍点为:"+a[m][n]); System.out.println("在第"+(m+1)+"行"); System.out.println("在第"+(n+1)+"列"); } } } }