来到广州实习的第一天,我选择的是JavaEE,因为以后的方向是Java,所以就选择了它。感觉有一段时间没有接触Java了。趁此机会好好努力,将基础巩固好。
Java输入及循环,判断,字符转换,数组定义及输出
实例一:
1 packagecom.lanou.one;2
3 importjava.util.Scanner;4
5 //一个文件中只能有一个被public修饰的类,该类必须与文件名相同,可以有多个class
6
7 public classDemo1 {8 //主函数提供程序入口,执行代码
9 public static voidmain(String[] args) {10 System.out.println("Hello World~");11 //输入一个数据,并表示其年份为闰年
12 Scanner scanner = newScanner(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 packagecom.lanou.one;2
3 importjava.util.Scanner;4
5 public classDemo2 {6 //输入一个小数,求整数部分,并计算整数部分每一位整数值之和
7 public static voidmain(String[] args) {8 Scanner scanner = newScanner(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
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 packagecom.lanou.one;2
3 public classDemo3 {4
5 public static voidmain(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 packagecom.lanou.one;2
3 public classDemo4 {4 //使用while循环遍历数组
5
6 /*定义一个数组7 * 通过下标访问元素8 * 数组只可以存放相同类型的数据9 * 数组长度不可变10 **/
11
12 public static voidmain(String[] args) {13 int[] arr = new int[]{1,2,3,5,6,7};14 int i=0;15 while (i
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 packagecom.lanou.one;2
3 public classDemo5 {4 //求数组中最大值和最小值5 //排序6 //求平均值
7 public static voidmain(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
实例六:
1 packagecom.lanou.one;2
3 public classDemo6 {4
5 /**
6 *将一个数插入到一个数组的指定位置的后面7 */
8 public static voidmain(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
23 brr[a+1]=100;24
25 for(j=a+2;j
32 }33
34 }
实例七:
1 packagecom.lanou.one;2
3 importjava.util.Scanner;4
5 public classDemo7 {6
7 /**
8 * 输入一个字符串,将字符串转换为大写9 */
10 public static voidmain(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之间的素数个数并输出
packagecom.lanou.one;public classPractice1 {/*** 0-100之间的素数个数并输出*/
public static voidmain(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
System.out.print(sushu[i]+" ");
}
}
}
2.
创建二维数组编程查找是否存在鞍点并输出
packagecom.lanou.one;public classPractice2 {/*** 创建二维数组编程查找是否存在鞍点并输出 行中最大、列中最小*/
public static voidmain(String[] args) {int[][] a = {{2,3,11},{4,5,9},{6,7,10}};int m=0,n=0; //行和列
for(int i=0;i
int max = a[i][0];boolean flag = true;//该行是否存在鞍点
for(int j=1;j
if(a[i][j]>max){
max=a[i][j];
m=i;
n=j;
}
}for(int k=0;k
{if(a[k][n]
flag= false;break;
}
}if(flag){
System.out.println("鞍点为:"+a[m][n]);
System.out.println("在第"+(m+1)+"行");
System.out.println("在第"+(n+1)+"列");
}
}
}
}