• Java基础语法实例(1)——实习第一天


    来到广州实习的第一天,我选择的是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)+"列");
                }
            }
                
        }
    
    }
  • 相关阅读:
    [No00009C]Visual Studio在 解决方案资源管理器 里同步定位打开的文件
    [No00009B]win10快捷键大全
    [No000099]软件版本命名规范
    [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图
    [No000097]程序员面试题集【下】
    [No000096]程序员面试题集【上】
    [No000095].Net入门级逆向工程-1.SpreadsheetGear汉化
    [No000093]按住Alt 再按数字键敲出任意汉字和字符!
    [No000092]SVN学习笔记3-Import/Checkout(迁入/迁出),GetLock(加锁)
    ubuntu 查看端口被占用并处理
  • 原文地址:https://www.cnblogs.com/zxcjj/p/7050154.html
Copyright © 2020-2023  润新知