字符串

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));
        
    }

}
原文地址:https://www.cnblogs.com/tangdeqiang/p/7598768.html