当前位置: 首页 > article >正文

java菜鸟学习实例(二)

java实例

  • 四.Java 方法
    • 1.Java 实例 – 方法重载
    • 2.Java 实例 – 输出数组元素
    • 3.Java 实例 – 汉诺塔算法
    • 4.Java 实例 – 斐波那契数列
    • 5.Java 实例 – 阶乘
    • 6.Java 实例 – 方法覆盖
    • 7.Java 实例 – instanceOf 关键字用法
    • 8.Java 实例 – break 关键字用法
    • 9.Java 实例 – continue 关键字用法
    • 10.Java 实例 – 标签(Label)
    • 11.Java 实例 – enum 和 switch 语句使用
    • 12.Java 实例 – Enum(枚举)构造函数及方法的使用
    • 13.Java 实例 – for 和 foreach循环使用
    • 14.Java 实例 – Varargs 可变参数使用
    • 15.Java 实例 – 重载(overloading)方法中使用 Varargs
  • 五.打印图形
    • 1.Java 实例 – 打印菱形
    • 2.Java 实例 – 九九乘法表
    • 3.Java 实例 – 打印三角形
    • 4.Java 实例 – 打印倒立的三角形
    • 5.Java 实例 – 打印平行四边形
    • 6.Java 实例 – 打印矩形
  • 六.Java 文件操作
    • 1.Java 实例 - 文件写入
    • 2.Java 实例 - 读取文件内容
    • 3.Java 实例 - 删除文件
    • 4.Java 实例 - 将文件内容复制到另一个文件
    • 5.Java 实例 - 向文件中追加数据
    • 6.Java 实例 - 创建临时文件
    • 7.Java 实例 - 修改文件最后的修改日期
    • 8.Java 实例 - 获取文件大小
    • 9.Java 实例 - 文件重命名
    • 10.Java 实例 - 设置文件只读
    • 11.Java 实例 - 检测文件是否存在
    • 12.Java 实例 - 在指定目录中创建文件
    • 13.Java 实例 - 获取文件修改时间
    • 14.Java 实例 - 创建文件
    • 15.Java 实例 - 文件路径比较

四.Java 方法

1.Java 实例 – 方法重载

class MyClass {
    int height;
    MyClass() {
        System.out.println("无参数构造函数");
        height = 4;
    }
    MyClass(int i) {
        System.out.println("房子高度为 " + i + " 米");
        height = i;
    }
    void info() {
        System.out.println("房子高度为 " + height + " 米");
    }
    void info(String s) {
        System.out.println(s + ": 房子高度为 " + height + " 米");
    }
}
public class MainClass {
    public static void main(String[] args) {
        MyClass t = new MyClass(3);
        t.info();
        t.info("重载方法");
        //重载构造函数
        new MyClass();
    }
}

2.Java 实例 – 输出数组元素

public class MainClass {
    public static void printArray(Integer[] inputArray) {
        for (Integer element : inputArray){
            System.out.printf("%s ", element);
            System.out.println();
        }
    }
    public static void printArray(Double[] inputArray) {
        for (Double element : inputArray){
            System.out.printf("%s ", element);
            System.out.println();
        }
    }
    public static void printArray(Character[] inputArray) {
        for (Character element : inputArray){
            System.out.printf("%s ", element);
            System.out.println();
        }
    }
    public static void main(String args[]) {
        Integer[] integerArray = { 1, 2, 3, 4, 5, 6 };
        Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 };
        Character[] characterArray = { 'H', 'E', 'L', 'L', 'O' };
        System.out.println("输出整型数组:");
        printArray(integerArray);
        System.out.println("\n输出双精度型数组:");
        printArray(doubleArray);
        System.out.println("\n输出字符型数组:");
        printArray(characterArray);
    }
}

3.Java 实例 – 汉诺塔算法

public class MainClass {
    public static void main(String[] args) {
        int nDisks = 3;
        doTowers(nDisks, 'A', 'B', 'C');
    }
    public static void doTowers(int topN, char from, char inter, char to) {
        if (topN == 1){
            System.out.println("Disk 1 from "
            + from + " to " + to);
        }else {
            doTowers(topN - 1, from, to, inter);
            System.out.println("Disk "
            + topN + " from " + from + " to " + to);
            doTowers(topN - 1, inter, from, to);
        }
    }
}

4.Java 实例 – 斐波那契数列

public class MainClass {
    public static void main(String[] args) {
        for (int counter = 0; counter <= 10; counter++){
            System.out.printf("Fibonacci of %d is: %d\n", counter, fibonacci(counter));
        }
    }
 
    public static long fibonacci(long number) {
        if ((number == 0) || (number == 1))
            return number;
        else
            return fibonacci(number - 1) + fibonacci(number - 2);
    }
}

5.Java 实例 – 阶乘

public class MainClass {
    public static void main(String args[]) {
    for (int counter = 0; counter <= 10; counter++){
        System.out.printf("%d! = %d\n", counter,
        factorial(counter));
    }
    }
    public static long factorial(long number) {
        if (number <= 1)
            return 1;
        else
            return number * factorial(number - 1);
    }
}

6.Java 实例 – 方法覆盖

public class Findareas{
    public static void main (String []agrs){
        Figure f= new Figure(10 , 10);
        Rectangle r= new Rectangle(9 , 5);
        Figure figref;
        figref=f;
        System.out.println("Area is :"+figref.area());
        figref=r;
        System.out.println("Area is :"+figref.area());
    }
}
class Figure{
    double dim1;
    double dim2;
    Figure(double a , double b) {
        dim1=a;
        dim2=b;
    }
    Double area() {
        System.out.println("Inside area for figure.");
        return(dim1*dim2);
    }
}
class Rectangle extends Figure {
    Rectangle(double a, double b) {
        super(a ,b);
    }
    Double area() {
        System.out.println("Inside area for rectangle.");
        return(dim1*dim2);
    }
}

7.Java 实例 – instanceOf 关键字用法

/*
 author by runoob.com
 Main.java
 */
import java.util.ArrayList;
import java.util.Vector;
 
public class Main {
 
public static void main(String[] args) {
   Object testObject = new ArrayList();
      displayObjectClass(testObject);
   }
   public static void displayObjectClass(Object o) {
      if (o instanceof Vector)
      System.out.println("对象是 java.util.Vector 类的实例");
      else if (o instanceof ArrayList)
      System.out.println("对象是 java.util.ArrayList 类的实例");
      else
      System.out.println("对象是 " + o.getClass() + " 类的实例");
   }
}

8.Java 实例 – break 关键字用法

public class Main {
    public static void main(String[] args) {
        int[] intary = { 99,12,22,34,45,67,5678,8990 };
        int no = 5678;
        int i = 0;
        boolean found = false;
        for ( ; i < intary.length; i++) {
            if (intary[i] == no) {
                found = true;
                break;
            }
        }
        if (found) {
            System.out.println(no + " 元素的索引位置在: " + i);
        } 
        else {
            System.out.println(no + " 元素不在数组中");
        }
    }
}

9.Java 实例 – continue 关键字用法

public class Main {
    public static void main(String[] args) {
        StringBuffer searchstr = new StringBuffer("hello how are you. ");
        int length = searchstr.length();
        int count = 0;
        for (int i = 0; i < length; i++) {
            if (searchstr.charAt(i) != 'h')
            continue;
            count++;
            searchstr.setCharAt(i, 'h');
        }
        System.out.println("发现 " + count 
        + " 个 h 字符");
        System.out.println(searchstr);
    }
}

10.Java 实例 – 标签(Label)

public class Main {
    public static void main(String[] args) {
        outerLoop:
        for (int i = 0; i < 3; i++) {
            innerLoop:
            for (int j = 0; j < 3; j++) {
                if (i == 1 && j == 1) {
                    break outerLoop; // 跳出外部循环
                }
                System.out.println("i: " + i + ", j: " + j);
            }
        }
    }
}

11.Java 实例 – enum 和 switch 语句使用

enum Car {
    lamborghini,tata,audi,fiat,honda
}
public class Main {
    public static void main(String args[]){
        Car c;
        c = Car.tata;
        switch(c) {
            case lamborghini:
                System.out.println("你选择了 lamborghini!");
                break;
            case tata:
                System.out.println("你选择了 tata!");
                break;
            case audi:
                System.out.println("你选择了 audi!");
                break;
            case fiat:
                System.out.println("你选择了 fiat!");
                break;
            case honda:
                System.out.println("你选择了 honda!");
                break;
            default:
                System.out.println("我不知道你的车型。");
                break;
        }
    }
}

12.Java 实例 – Enum(枚举)构造函数及方法的使用

enum Car {
    lamborghini(900),tata(2),audi(50),fiat(15),honda(12);
    private int price;
    Car(int p) {
        price = p;
    }
    int getPrice() {
        return price;
    } 
}
public class Main {
    public static void main(String args[]){
        System.out.println("所有汽车的价格:");
        for (Car c : Car.values())
        System.out.println(c + " 需要 " 
        + c.getPrice() + " 千美元。");
    }
}

13.Java 实例 – for 和 foreach循环使用

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
 
public class Main
{
    public static void main(String[] args)
    {
        int[] arr = {1, 2, 3, 4, 5};
        
        System.out.println("----------使用 for 循环------------");
        for(int i=0; i<arr.length; i++)
        {
            System.out.println(arr[i]);
        }
        
        System.out.println("---------使用 For-Each 循环-------------");
        
        //增强的 for 循环 For-Each
        for(int element:arr)
        {
            System.out.println(element);
        }
        
        System.out.println("---------For-Each 循环二维数组-------------");
        
        //遍历二维数组
        int[][] arr2 = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}} ;
        for(int[] row : arr2)
        {
            for(int element : row)
            {
                System.out.println(element);
            }
        }
        
        //以三种方式遍历集合 List
        List<String> list = new ArrayList<String>();
        
        list.add("Google");
        list.add("Runoob");
        list.add("Taobao");
        
        System.out.println("----------方式1:普通for循环-----------");
        for(int i = 0; i < list.size(); i++)
        {
            System.out.println(list.get(i));
        }
        
        System.out.println("----------方式2:使用迭代器-----------");
        for(Iterator<String> iter = list.iterator(); iter.hasNext();)
        {
            System.out.println(iter.next());
        }
        
        System.out.println("----------方式3:For-Each 循环-----------");
        for(String str: list)
        {
            System.out.println(str);
        }
    }
}

14.Java 实例 – Varargs 可变参数使用

public class Main {
    static int  sumvarargs(int... intArrays){
        int sum, i;
        sum=0;
        for(i=0; i< intArrays.length; i++) {
            sum += intArrays[i];
        }
        return(sum);
    }
    public static void main(String args[]){
        int sum=0;
        sum = sumvarargs(new int[]{10,12,33});
        System.out.println("数字相加之和为: " + sum);
    }
}

15.Java 实例 – 重载(overloading)方法中使用 Varargs

public class Main {
    static void vaTest(int ... no) {
        System.out.print("vaTest(int ...): " 
        + "参数个数: " + no.length +" 内容: ");
        for(int n : no)
        System.out.print(n + " ");
        System.out.println();
    }
    static void vaTest(boolean ... bl) {
        System.out.print("vaTest(boolean ...) " +
        "参数个数: " + bl.length + " 内容: ");
        for(boolean b : bl)
        System.out.print(b + " ");
        System.out.println();
    }
    static void vaTest(String msg, int ... no) {
        System.out.print("vaTest(String, int ...): " +
        msg +"参数个数: "+ no.length +" 内容: ");
        for(int  n : no)
        System.out.print(n + " ");
        System.out.println();
    }
    public static void main(String args[]){
        vaTest(1, 2, 3);
        vaTest("测试: ", 10, 20);
        vaTest(true, false, false);
    }
}

五.打印图形

1.Java 实例 – 打印菱形

public class Diamond {
    public static void main(String[] args) {
        print(8); // 输出 8 行的菱形
    }
 
    public static void print(int size) {
        if (size % 2 == 0) {
            size++; // 计算菱形大小
        }
        for (int i = 0; i < size / 2 + 1; i++) {
            for (int j = size / 2 + 1; j > i + 1; j--) {
                System.out.print(" "); // 输出左上角位置的空白
            }
            for (int j = 0; j < 2 * i + 1; j++) {
                System.out.print("*"); // 输出菱形上半部边缘
            }
            System.out.println(); // 换行
        }
        for (int i = size / 2 + 1; i < size; i++) {
            for (int j = 0; j < i - size / 2; j++) {
                System.out.print(" "); // 输出菱形左下角空白
            }
            for (int j = 0; j < 2 * size - 1 - 2 * i; j++) {
                System.out.print("*"); // 输出菱形下半部边缘
            }
            System.out.println(); // 换行
        }
    }
}

2.Java 实例 – 九九乘法表

public class MultiplicationTable {
    public static void main(String[] args) {
        for(int i=1;i<=9;i++) {
            for(int j=1;j<=i;j++) {
                System.out.print(j+"×"+i+"="+i*j+"\t");// \t 跳到下一个TAB位置
            }
            System.out.println();
        }
    }
}

3.Java 实例 – 打印三角形

class Demo{
    public static void main(String[] args){
        for(int i=1;i<=5;i++){
            for(int j=5; i<=j; j--)
                System.out.print(" ");
            for(int j=1; j<=i; j++)
                System.out.print("*");
            for(int j=1; j<i; j++)
                System.out.print("*");
            System.out.println();
        }
    }
}

4.Java 实例 – 打印倒立的三角形

public class InvertedTriangle {
    public static void main(String[] args) {
         //打印倒立的三角形
        for (int m = 1; m <= 4; m++) {
            //打印空格
            for (int n = 0; n <= m; n++) {
                System.out.print(" ");
            }
            //打印*
            for (int x = 1; x <= 7 -2 * (m - 1); x++) {
                System.out.print("*");
            }
            System.out.println();
        }        
    }
}

5.Java 实例 – 打印平行四边形

public class Parallelogram {
    public static void main(String[] args) {
         //外层循环 每次打出一个*
        for (int i = 1; i <=5; i++) {
            //填充空格
            for (int j = 1; j <= 5 - i; j++) {
                System.out.print(" ");
            }
            //内层循环 每次打印一个*
            for (int k = 1; k <= 5; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

6.Java 实例 – 打印矩形

public class Rect {
    public static void main(String[] args) {
         //外层循环 每次输出一行*
        for (int i = 1; i <= 5; i++) {
            System.out.print("*");
            //内层循环 每次输出一个*
            for (int j = 1; j <= 5; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

六.Java 文件操作

1.Java 实例 - 文件写入

/*
 author by runoob.com 
 Main.java
 */
 
import java.io.*;
 
public class Main {
    public static void main(String[] args)  {
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter("runoob.txt"));
            out.write("菜鸟教程");
            out.close();
            System.out.println("文件创建成功!");
        } catch (IOException e) {
        }
    }
}

2.Java 实例 - 读取文件内容

import java.io.*;
 
public class Main {
    public static void main(String[] args)  {
        try {
            BufferedReader in = new BufferedReader(new FileReader("test.log"));
            String str;
            while ((str = in.readLine()) != null) {
                System.out.println(str);
            }
            System.out.println(str);
        } catch (IOException e) {
        }
    }
}

3.Java 实例 - 删除文件

import java.io.*;
 
public class Main
{
    public static void main(String[] args)
    {
        try{
            File file = new File("c:\\test.txt");
            if(file.delete()){
                System.out.println(file.getName() + " 文件已被删除!");
            }else{
                System.out.println("文件删除失败!");
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

4.Java 实例 - 将文件内容复制到另一个文件

import java.io.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        BufferedWriter out1 = new BufferedWriter(new FileWriter("srcfile"));
        out1.write("string to be copied\n");
        out1.close();
        InputStream in = new FileInputStream(new File("srcfile"));
        OutputStream out = new FileOutputStream
        (new File("destnfile"));
        byte[] buf = new byte[1024];
        int len;
        while ((len = in.read(buf)) > 0) {
            out.write(buf, 0, len);
        }
        in.close();
        out.close();
        BufferedReader in1 = new BufferedReader(new FileReader("destnfile"));
        String str;
        while ((str = in1.readLine()) != null) {
            System.out.println(str);
        }
        in1.close();
    }
}

5.Java 实例 - 向文件中追加数据

import java.io.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        try {
            BufferedWriter out = new BufferedWriter(new FileWriter("filename"));
            out.write("aString1\n");
            out.close();
            out = new BufferedWriter(new FileWriter("filename",true));
            out.write("aString2");
            out.close();
            BufferedReader in = new BufferedReader(new FileReader("filename"));
            String str;
            while ((str = in.readLine()) != null) {
                System.out.println(str);
            }
            in.close();
        }
            catch (IOException e) {
            System.out.println("exception occoured"+ e);
        }
    }
}

6.Java 实例 - 创建临时文件

import java.io.*;
 
public class Main {
    public static void main(String[] args) throws Exception {
        File temp = File.createTempFile("testrunoobtmp", ".txt");
        System.out.println("文件路径: "+temp.getAbsolutePath());
        temp.deleteOnExit();
        BufferedWriter out = new BufferedWriter(new FileWriter(temp));
        out.write("aString");
        System.out.println("临时文件已创建:");
        out.close();
    }
}

7.Java 实例 - 修改文件最后的修改日期

import java.io.File;
import java.util.Date;
 
public class Main {
    public static void main(String[] args) throws Exception {
        File fileToChange = new File("C:/myjavafile.txt");
        fileToChange.createNewFile();
        Date filetime = new Date(fileToChange.lastModified());
        System.out.println(filetime.toString());
        System.out.println(fileToChange.setLastModified(System.currentTimeMillis()));
        filetime = new Date(fileToChange.lastModified());
        System.out.println(filetime.toString());
    }
}

8.Java 实例 - 获取文件大小

import java.io.File;
 
public class Main {
    public static long getFileSize(String filename) {
        File file = new File(filename);
        if (!file.exists() || !file.isFile()) {
            System.out.println("文件不存在");
            return -1;
        }
        return file.length();
    }
    public static void main(String[] args) {
        long size = getFileSize("c:/java.txt");
        System.out.println("java.txt文件大小为: " + size);
    }
}

9.Java 实例 - 文件重命名

import java.io.File;
import java.io.IOException;
 
public class RunoobTest {
    public static void main(String[] args) throws IOException {
        // 旧的文件或目录
        File oldName = new File("./runoob-test.txt");
        // 新的文件或目录
        File newName = new File("./runoob-test-2.txt");
        if (newName.exists()) {  //  确保新的文件名不存在
            throw new java.io.IOException("file exists");
        }
        if(oldName.renameTo(newName)) {
            System.out.println("已重命名");
        } else {
            System.out.println("Error");
        }
    }
}

10.Java 实例 - 设置文件只读

import java.io.File;
 
public class Main {
    public static void main(String[] args) {
        File file = new File("C:/java.txt");
        System.out.println(file.setReadOnly());
        System.out.println(file.canWrite());
    }
}

11.Java 实例 - 检测文件是否存在

import java.io.File;
 
public class Main {
    public static void main(String[] args) {
        File file = new File("C:/java.txt");
        System.out.println(file.exists());
    }
}

12.Java 实例 - 在指定目录中创建文件

import java.io.File;
 
public class Main {
    public static void main(String[] args) throws Exception {
        File file = null;
        File dir = new File("C:/");
        file = File.createTempFile
        ("JavaTemp", ".javatemp", dir);
        System.out.println(file.getPath());
    }
}

13.Java 实例 - 获取文件修改时间

import java.io.File;
import java.util.Date;
 
public class Main {
    public static void main(String[] args) {
        File file = new File("Main.java");
        Long lastModified = file.lastModified();
        Date date = new Date(lastModified);
        System.out.println(date);
    }
}

14.Java 实例 - 创建文件

import java.io.File;
import java.io.IOException;
 
public class Main {
    public static void main(String[] args) {
        try{
            File file = new File("C:/myfile.txt");
            if(file.createNewFile())
                System.out.println("文件创建成功!");
            else
                System.out.println("出错了,该文件已经存在。");
        }
        catch(IOException ioe) {
            ioe.printStackTrace();
        }
    }
}

15.Java 实例 - 文件路径比较

import java.io.File;
 
public class Main {
    public static void main(String[] args) {
        File file1 = new File("C:/File/demo1.txt");
        File file2 = new File("C:/java/demo1.txt");
        if(file1.compareTo(file2) == 0) {
            System.out.println("文件路径一致!");
        } else {
            System.out.println("文件路径不一致!");
        }
    }
}

http://www.kler.cn/news/351084.html

相关文章:

  • 关于写“查看IT设备详细信息”接口的理解
  • 我开源了Go语言连接数据库和一键生成结构体的包【实用】
  • uniapp获取底部导航tabbar的高度(H5)
  • 图像筛选去重、去静止
  • 系统登录接口文档Demo
  • Qt中使用线程之QRunnable
  • 【VUE】Vue中的内置组件
  • Golang反射解说
  • 985研一学习日记 - 2024.10.17
  • 【保姆级】Spring Retry 教程
  • js实现简单的【发布者-订阅者模式】
  • 《C++中栈的实现:探索高效数据结构》
  • python项目实战——下载美女图片
  • golang生成并分析cpu prof文件
  • LeetCode:LCP77.符文储备(排序 Java)
  • 《Windows PE》6.4.2 远程注入DLL
  • MySQL联合索引中不同区分度列的顺序对查询性能的影响
  • Spring Boot知识管理系统:敏捷开发实践
  • Spring Boot 自动配置与 Starter POMs 深度解析
  • Excel:Cells(Rows.Count, 1).End(xlUp).Row和Cells(Rows.Count, 1).End(xlUp)有什么区别
  • Git 查看当前分支是基于哪个分支拉取(源头分支)
  • 产品开发历程|共享空间系统小程序界面风格切换
  • 开放式蓝牙耳机哪个品牌好用?开放式耳机排行榜测评!
  • 转型AI产品经理需要掌握的硬知识(三):2B和2C类AI产品公司脑洞
  • JVM篇(运行时数据区(实战课程学习总结)
  • Windows:在WPS或者Word中添加Latex公式编辑器