• 字符串


    1.分清char和String的区别,char只能是一个字符,并且只能用单引号,String可以是很多字符,用双引号。java中一切皆对象,比如对于int类型来说,他不是一个对象,为此java中为他提供了一个Integer的封装,对于每一个数据类型,java中都提供了对应对象的封装。所以各自都有其属性和方法,java为了效率提高。保留了基本数据类型。对于其基本类型对应的封装对象,他们之间有方法可让其互相转化。

    String也是java中的一个类,他有很多的方法。他位于java中java.lang中。方法有计算字符串的长度。连接字符串,比较字符串,提取字符串等等。具体方法使用如下(一部分):

    package com.tdq.java1;
    
    public class Str {
        public static void main(String[]args){
            String str="我爱中国";
            String str1=new String("我爱中国");
            System.out.println(str.length());
            if(str==str1){
                System.out.println("相同");
            }else{
                System.out.println("不相同");
            }
            if(str.equals(str1)){
                System.out.println("相同");
            }else{
                System.out.println("不相同");
            }
            String a1="Java";
            String a2="java";//区分大小写
            if(a1.equals(a2)){
                System.out.println("相同");
            }else{
                System.out.println("不相同");
            }
            if(a1.equalsIgnoreCase(a2)){//不区分大小写
                System.out.println("相同");
            }else{
                System.out.println("不相同");
            }
            System.out.println(a1.toUpperCase());//都转换为大写;
            System.out.println(a1.toLowerCase());//都转换为小写;
            System.out.println(a1+a2);//字符串连接
            System.out.println(a1.concat(a2));//字符串连接
            System.out.println(a1.indexOf(a2));//在a1中查找有没有a2的字符串;返回-1没有,返回1表示有返回0表示相等
            System.out.println(a1.indexOf("va"));//在a1中查找有没有a;有相同的则找到了就不会往前找。如果从后面开始找则用另外一个方法
            if(a1.indexOf("a")==-1){
                System.out.println("找不到");
            }
            System.out.println(a1.substring(3));//提取第三个
            System.out.println(a1.substring(2, 4));//从第2个取到第四个
            String a3="    adfd    ";
            System.out.println(a3.trim());//去掉前后空格  中间有空格不会去掉
            System.out.println(a1.startsWith("J"));//是不是以J开始;
            System.out.println(a1.endsWith("A"));//是不是以A结尾;
            System.out.println(a1.charAt(0));//拿到第0个字符;
            System.out.println(a1.contains("a"));//是否包含a
        }
    
    }

     2、直接在main方法中实现以下程序,要求根据用户的输入计算累加的和;比如输入10,则计算1+2+3...+10的和
       如:
          请输入要累加数:100
          和是:5050

    package com.tdq.java1;
    import java.util.*;
    
    public class Sum {
        public static void main(String[]args){
            Scanner scanner=new Scanner(System.in);
            System.out.println(" 请输入要累加数:");
            int index=scanner.nextInt();
            
            
            int sum=0;
            for(int i=1;i<=index;i++){
                sum+=i;
            }
            
            System.out.println(" 和是:"+sum);
        }
    
    }

    3、定义一个Teacher类,包含学生姓名和学生年龄两个属性,通过控制台输入姓名和年龄,并输出。
       如
          姓名:张三
          年龄:12
       输出:
           你好 张三,你的年龄是:12 .

    package com.tdq.java1;
    import java.util.*;
    
    public class Sum {
        public static void main(String[] args) {
    
            Scanner scanner=new Scanner(System.in);
            
            System.out.println(" 姓名:");
            String name=scanner.nextLine();
            System.out.println("年龄:");
            int age=scanner.nextInt();
            
            
            System.out.println(" 你好 "+name+",你的年龄是:"+age);
            
            
        }
    }

    4.定义一个类Cal。在类中定义一个方法int  max(int 【】nums)用于求数组中的最大数。在main方法中调用此方法。并测试。等待用户输入5个数。输出最大值。如输入5个数字:1 2 3 4 5;最大值为5;

    package com.tdq.java1;
    import java.util.*;
    public class Sum {
        
        public int max(int [] nums){
            int max=nums[0];
            
            for(int i=1;i<nums.length;i++){
                if(max<nums[i]){
                    max=nums[i];
                }
            }
            
            return max;
        }
        
        public static void main(String[] args) {
            
            Scanner scanner=new Scanner(System.in);//
            Sum cal=new Sum();
            
            int nums[]=new int[5];        
            System.out.println("请输入5个数字:");
            for(int i=0;i<nums.length;i++){
                nums[i]=scanner.nextInt();
            }
            
           //调用
            int result=cal.max(nums);
            
            System.out.println("最大值是:"+result);
        }
        
    }

    5、直接在main函数里实现以下程序,程序输出1+2=? ,等待用户输入计算结果,如果输错提示用户继续输入,直到正确为止。
       (提示,使用死循环,通过break退出)
       如:
       1+2=
       输入:4
             对不起,错误请重新输入。
             6
             对不起,错误请重新输入。
             3
             恭喜,正确

    package com.tdq.java1;
    import java.util.*;
    
    public class Exe1 {
        public static void main(String[]args){
            Scanner scanner=new Scanner(System.in);
            System.out.println("1+2=?");
            while(true){
                int a=scanner.nextInt();
                if(a==3){
                    System.out.println("恭喜!正确");
                    break;
                }else{
                    System.out.println("对不起,输入错误,请重新输入");
                }
            }
            
        }
    
    }

    6、直接在main函数里实现程序:等待用户的输入5个数字,从小到大的输出5个数
       提示:先定义一个数组,把输入的内容放在数组中。再对数组进行排序。

    package com.tdq.java1;
    import java.util.*;
    public class Sum {
        
        public int max(int [] nums){
            int max=nums[0];
            
            for(int i=1;i<nums.length;i++){
                if(max<nums[i]){
                    max=nums[i];
                }
            }
            
            return max;
        }
        
        public static void main(String[] args) {
            
            Scanner scanner=new Scanner(System.in);//
            Sum cal=new Sum();
            
            int nums[]=new int[5];        
            System.out.println("请输入5个数字:");
            for(int i=0;i<nums.length;i++){
                nums[i]=scanner.nextInt();
            }
            
           //调用
            int result=cal.max(nums);
            Arrays.sort(nums);
            for(int i=0;i<nums.length;i++){
                System.out.print(nums[i]+"   ");
            }
            
            System.out.println("最大值是:"+result);
        }
        
    }

    7、直接在main函数里实现以下程序:
       程序输出1+2=? ,等待用户输入计算结果,如果输错提示用户继续输入,用户可以有5次机会。
       如果5次都输错那么程序就退出,并提示用户回答失败。如果用户在5次内回答正确,则提示用
       户回答正确了。
       (提示,使用死循环,通过break退出)
       如:
       1+2=
       输入:4
             对不起,错误请重新输入,你还有4次机会
             6
             对不起,错误请重新输入,你还有3次机会
             3
            
             恭喜,正确
        程序退出。

    package com.tdq.java1;
    import java.util.*;
    
    public class Exe1 {
        public static void main(String[]args){
            Scanner scanner=new Scanner(System.in);
            System.out.println("1+2=?");
            int b=4;
            while(true){
                int a=scanner.nextInt();
                
                if(a==3){
                    System.out.println("恭喜!正确");
                    break;
                }else{
                    System.out.println("对不起,输入错误,请重新输入");
                    
                    System.out.println("你还有"+b+"次机会");
                    b--;
                    if(b<0){
                        break;
                    }
                    System.out.println("程序退出");
                }
            }
            
        }
    
    }

     8.编写Java程序,完成以下功能。

    (1)声明一个名为str的StringBuffer对象,并赋初始值为zdDongFang
    (2)使用append()方法连接字符串"xueyuan"和"1201",并打印。
    (3)打印出最后一个字符。
    (4)在第二个字符后面插入字符"hello"。
    (5)把最后的四个字符串删掉。

    package com.tdq.java;
    
    public class Run {
        public static void main(String[]aargs){
            StringBuffer str=new StringBuffer("zdDongFang");
            System.out.println(str);
            System.out.println(str.append("xueyuan1201"));
            System.out.println(str.charAt(20));
            System.out.println(str.insert(2, "hello"));
            System.out.println(str.delete(22, 26));
            
            
        }
        
    
    }

    9、字符串查找练习,先要求用户输入一段原字符串,然后再输入一段要查找的字符串,如果原字符串包含要查找的字符串,则输入“正确”,否则输出错误

    如:
    原字符串:abcdefg
    要查找的字符串:cde
    输出:正确

    package com.tdq.java;
    
    public class StringFind {
        public static void main(String[]args){
            String  str="abcdefg";
            System.out.println(str.indexOf("cde"));
            if(str.indexOf("cde")==2){
                System.out.println("正确");
            }
        }
        
        
    }

    10、使用Math函数计算一下算式

    (1)cos(45)+cos(45)
    (2) 3的平方加上8的开方的和是多少?
    (3)求方程2X*X+5*X+2=0的解是多少

    package com.exe2;
    
    import java.util.Scanner;
    
    public class Exe3 {
        public static void main(String[] args) {
            System.out.println(Math.cos(45) + Math.cos(45));
            System.out.println(Math.pow(3, 2) + Math.sqrt(8));
    
            // 第三题,一元二次方程:ax^2+bx+c=0
            // (3)求方程2X*X+5*X+2=0的解是多少
            double a = 2;
            double b = 5;
            double c = 2;
            
            
            System.out.println(((-b) + Math.sqrt(Math.pow(b, 2) - 4 * a * c))
                    / (2 * a));
            System.out.println(((-b) - Math.sqrt(Math.pow(b, 2) - 4 * a * c))
                    / (2 * a));
        }
    }

    11、由系统随机生成两位数,并记录在int num1和int num2中,要求用户输入这个数的和,如果用户输入成功就显示正确。
    否则显示错误,用户有5次输入的机会,5次都计算错误,系统将会退出,并显示计算错误信息。
    如系统随机生成了 23 45 两个数。

    系统显示 : 23+45=?
    请输入: 4
    计算错误,你还有4次机会
    请输入: 68
    恭喜计算正确。

    package com.exe2;
    
    import java.util.Scanner;
    
    public class Exe4 {
    
        public static void main(String[] args) {
    
            // 生成两个两位数随机数 0.99999 0.01 0.001 10~99
            int num1 = (int) (Math.random() * 90) + 10;
            int num2 = (int) (Math.random() * 90) + 10;
    
            System.out.println(num1 + "+" + num2 + "=?");
    
            // 获得用户的输入
            Scanner sc = new Scanner(System.in);
    
            int count = 5;
    
            while (count > 0) {
                int input = sc.nextInt();
                // 判断对错
                int result = num1 + num2;
                if (input == result) {
                    System.out.println("正确");
                    break;
                } else {
                    count--;
                    System.out.println("计算错误,你还有" + count + "次机会");
                }
            }
    
        }
    
    }

    12.数学类

    package com.stu3;
    
    public class MathStu {
        
        public static void main(String[] args) {
            
            
            System.out.println(Math.PI);
            
            System.out.println(Math.abs(-100));
            
            System.out.println(Math.floor(100.9));
            System.out.println(Math.ceil(100.1));
            
            System.out.println(Math.round(100.3));
            
            System.out.println(Math.max(100, 30));
            System.out.println(Math.min(100, 30));
            
            System.out.println(Math.pow(2, 3));
            
            System.out.println(Math.sqrt(9));
            
            //0~1
            System.out.println(Math.random());
            
            //0~100
            //10~100
            System.out.println((int)(Math.random()*100));
            System.out.println((int)(Math.random()*100));
            
        }
    
    }
  • 相关阅读:
    递归算法介绍及Java应用实战
    常用缓存淘汰算法(LFU、LRU、ARC、FIFO、MRU)
    阿里巴巴高级Java面试题(首发,70道)
    2017阿里技术年度精选(全)
    10年老兵给程序员的10条建议!
    8条关于Web前端性能的优化建议
    (16)约束
    (15)oracle序列
    (14)oracle数据字典
    (13)oracle导出、导入
  • 原文地址:https://www.cnblogs.com/tangdeqiang/p/7598768.html
Copyright © 2020-2023  润新知