初识java及java总结

一、java程序开发

  • 创建、编辑java源文件,后缀名为.java
  • 使用java编译器来编译java源文件生成字节码文件,后缀名为.class
  • 使用java虚拟机来执行生成的字节码文件,完成java程序要实现的功能
今天上课老师提出了一个问题:为什么java是跨平台的语言?
  1. 因为java平台是由java虚拟机和java应用编程接口构成,且java程序的跨平台主要指的是字节码文件可以在任何具有java虚拟机的电子设备上运行
  2. java语言是完全统一的版本
  3. 由编译器产生的字节码是与平台无关的
  4. java虚拟机隐藏了不同平台的差异,保证了字节码文件运行的正确性
    (附上我的一张思维脑图,上面有java概念和部分java的数据类型,可以帮助理解)
    java

二、几个简单的java小程序

1. hello wrold

public class App1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("hello,world");
	}

}

2.welcome

import java.util.*;
public class welcom {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		
		Scanner s = new Scanner(System.in);
		System.out.println("Hello!What's your name :");
		String name = s.nextLine();
		System.out.println(name+",Welcome to learn OOP using java!");
	}

}

3.求五边形的面积和周长

import java.util.Scanner;

public class Area {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner number = new Scanner(System.in);
		double r = number.nextDouble();
		System.out.printf("%.4f", (r*r*(Math.sqrt(25+10*Math.sqrt(5)))/4));
		System.out.printf("\n");
		System.out.printf("%.0f", 5*r);
		
	}

}

4.摄氏温度转华氏温度

import java.util.Scanner;
public class Exam3_1 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		float c,f=0.0f;
		System.out.println("");
		Scanner in=new Scanner(System.in);
		System.out.println("请输入摄氏温度:");
		c=in.nextFloat();
		f=c*9/5+32;
		System.out.println("转换成华氏温度为:"+f);
	}

}

5.关系运算符的计算

import java.util.Scanner;
public class Exam2_7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean x,y,z,a,b;
		a = 'c' > 'C';
		b = 'r' != 'r';
		x = !a;
		y = a && b;
		z = a || b;
		System.out.println("x="+x);
		System.out.println("y="+y);
		System.out.println("z="+z);
		System.out.println("a="+a);
		System.out.println("b="+b);

	}

}

自己做过的一些题

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出很多苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知每个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
		int y = 0;
		int n = in.nextInt();
		int []num = new int[n];
		for(int i=0;i<num.length;i++) {
				int z = in.nextInt();
				num[i] = z;
		}
		
		int s = in.nextInt();
		for(int i=0;i<num.length;i++) {
			if(num[i] <= s+30) {
				y++;
			}
		}
		System.out.println(y);
		}


}

jmu-Java-03面向对象基础-05-覆盖
Java每个对象都继承自Object,都有equals、toString等方法。
现在需要定义PersonOverride类并覆盖其toString与equals方法。

import java.util.*;
import java.lang.*;
import java.text.DecimalFormat;

class PersonOverride {

	private String name;
	private int age;
	private boolean gender;

	public PersonOverride() {
		this("default", 1, true);
	}

	public PersonOverride(String name_arg, int age_arg, boolean gender_arg) {
		name = name_arg;
		age = age_arg;
		gender = gender_arg;
	}

	public String toString() {
		return name + "-" + age + "-" + gender;
	}
	@Override
	public boolean equals(Object o) {
		PersonOverride rfs = (PersonOverride) o;
		if ((this.age == rfs.age) && (this.name.equals(rfs.name) ) && (this.gender == rfs.gender))
			return true;
		else
			return false;
	}
	
}

public class Main {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int n1 = input.nextInt();
		ArrayList<PersonOverride> person1 = new ArrayList<PersonOverride>();

		for (int i = 0; i < n1; i++) {
			person1.add(new PersonOverride());
		}
		int n2 = input.nextInt();

		ArrayList<PersonOverride> person2 = new ArrayList<PersonOverride>();

		for (int i = 0; i < n2; i++) {
			String t_name = input.next();
			int t_age = input.nextInt();

			String tt = input.next();
			boolean t_gender = Boolean.valueOf(tt);
			
			PersonOverride tmp = new PersonOverride(t_name, t_age, t_gender);
			
			if (!person2.contains(tmp)) {
				person2.add(tmp);
			}
		}

		for (PersonOverride number : person1) {
			System.out.println(number.toString());
		}

		for (PersonOverride number : person2) {
			System.out.println(number.toString());
		}

		System.out.println(person2.size());

		System.out.println(Arrays.toString(PersonOverride.class.getConstructors()));
		input.close();
	}
}

jmu-Java-03面向对象-06-继承覆盖综合练习-Person、Student、Employee、Company

import java.text.DecimalFormat;
import java.util.*;
import java.util.List;

public class Main {
   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       List<Person> personList = new ArrayList<>();
       while (true) {
           String s = sc.next();
           if (s.equals("s")) {
               Student student = new Student(sc.next(), sc.nextInt(), sc.nextBoolean(), sc.next(), sc.next());
               sc.nextLine();
               personList.add(student);
           } else if (s.equals("e")) {
               Employee employee = new Employee(sc.next(), sc.nextInt(), sc.nextBoolean(), sc.nextDouble(), new Company(sc.next()));
               sc.nextLine();
               personList.add(employee);
           } else {
               break;
           }
       }
       sc.nextLine();
       personList.sort((o1, o2) -> {
           if (o1.getName().equals(o2.getName())) {
               return o1.getAge() - o2.getAge();
           } else {
               return o1.getName().compareTo(o2.getName());
           }
       });
       if (sc.next().equals("exit")) {
           for (int i = 0; i < personList.size(); i++) {
               System.out.println(personList.get(i));
           }
           return;
       }
       List<Student> studentList = new ArrayList<>();
       List<Employee> employeeList = new ArrayList<>();
       sc.nextLine();
       for (int i = 0; i < personList.size(); i++) {
           if (personList.get(i) instanceof Student) {
               if (!studentList.contains(personList.get(i))) {
                   studentList.add((Student) personList.get(i));
               }
           }
           if (personList.get(i) instanceof Employee) {
               if (!employeeList.contains(personList.get(i))) {
                   employeeList.add((Employee) personList.get(i));
               }
           }
       }

       for (int i = 0; i < personList.size(); i++) {
           System.out.println(personList.get(i));
       }
       System.out.println("stuList");
       for (int i = 0; i < studentList.size(); i++) {
           System.out.println(studentList.get(i));
       }
       System.out.println("empList");
       for (int i = 0; i < employeeList.size(); i++) {
           System.out.println(employeeList.get(i));
       }
   }
}

class Person {
   private String name;
   private int age;
   private boolean gender;

   public Person(String name, int age, boolean gender) {
       this.name = name;
       this.age = age;
       this.gender = gender;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public int getAge() {
       return age;
   }

   public void setAge(int age) {
       this.age = age;
   }

   public boolean isGender() {
       return gender;
   }

   public void setGender(boolean gender) {
       this.gender = gender;
   }

   @Override
   public String toString() {
       return name + "-" + age + "-" + gender;
   }

   @Override
   public boolean equals(Object obj) {
       if (obj == this) {
           return true;
       }
       if (obj instanceof Person) {
           Person person = (Person) obj;
           if (person.name.equals(this.name) &&
                   person.age == this.age &&
                   person.gender == this.gender) {
               return true;
           }
       }
       return false;
   }
}

class Student extends Person {

   private String stuNo;
   private String clazz;


   public Student(String name, int age, boolean gender, String stuNo, String clazz) {
       super(name, age, gender);
       this.stuNo = stuNo;
       this.clazz = clazz;
   }

   @Override
   public String toString() {
       return "Student:" + super.toString() + "-" + stuNo + "-" + clazz;
   }

   @Override
   public boolean equals(Object obj) {
       if (obj == this) {
           return true;
       }
       if (super.equals(obj)) {
           Student student = (Student) obj;
           if (student.stuNo.equals(this.stuNo) &&
                   student.clazz.equals(this.clazz)) {
               return true;
           }
       } else {
           return false;
       }
       return false;
   }
}

class Company {
   private String name;

   public Company(String name) {
       this.name = name;
   }

   @Override
   public String toString() {
       return this.name;
   }

   @Override
   public boolean equals(Object obj) {
       if (obj == this) {
           return true;
       }
       if (obj instanceof Company) {
           Company company = (Company) obj;
           if (company.name.equals(this.name)) {
               return true;
           } else {
               return false;
           }
       } else {
           return false;
       }
   }
}

class Employee extends Person {
   private Company company;
   private double salary;


   public Employee(String name, int age, boolean gender, double salary, Company company) {
       super(name, age, gender);
       this.company = company;
       this.salary = salary;
   }

   @Override
   public String toString() {
       return "Employee:" + super.toString() + "-" + company.toString() + "-" + salary;
   }

   @Override
   public boolean equals(Object obj) {
       if (obj == this) {
           return true;
       }
       if (super.equals(obj)) {
           Employee employee = (Employee) obj;
           if (employee.company.equals(this.company)) {
               DecimalFormat df = new DecimalFormat("#.#");
               double salary1 = Double.valueOf(df.format(salary));
               double salary2 = Double.valueOf(df.format(employee.salary));
               if (salary1 == salary2) {
                   return true;
               }
               return false;
           }
       } else {
           return false;
       }
       return false;
   }
}

数字格式异常

import java.util.InputMismatchException;
import java.util.Scanner;

public class Main
{
   public static void main(String[]args)
   {
       Scanner in=new Scanner(System.in);
       int a,b;
       while(true)
       {
           try{
               a=in.nextInt();b=in.nextInt();
               System.out.println("Sum is "+(a+b));
           }
           catch(InputMismatchException e)
           {
               in.nextLine();
               System.out.println("Incorrect input and re-enter two integers:");
               continue;
           }
           break;
       }
   }
   }

成绩录入时的及格与不及格人数统计

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []score = new int [n];
		for(int i=0; i<n; i++) {
			int num = sc.nextInt();
			if(num<=100 && num>0) {
				score[i] = num;
			}else {
				System.out.println(num+"invalid!");
			}
		}
		int a=0,b=0;
		for(int i=0; i<score.length;i++) {
			if(score[i]>=60) {
				a=a+1;
			}else {
				b=b+1;
			}
		}
		System.out.println(a);
		System.out.println(b);
	}

}

简单的计算器

import java.math.BigDecimal;

import java.util.Scanner;
public class Main {
    public static void main(String [] args){
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        char [] key = {'+', '-', '*', '/'};
        int len = -1;
        int flag = 0;
        for (int i = 0; i < key.length; i++) {
            len = s.indexOf(key[i]);
            if (len != -1){
                flag = i;
                break;
            }
        }
        BigDecimal m = new BigDecimal(s.substring(0, len));
        BigDecimal n = new BigDecimal(s.substring(len + 1));
        switch (flag){
            case 0:{
                System.out.println(m.add(n));
                break;
            }
            case 1:{
                System.out.println(m.subtract(n));
                break;
            }
            case 2:{
                System.out.println(m.multiply(n));
                break;
            }
            case 3:{
                System.out.println(m.divide(n));
                break;
            }
        }
    }

}

伪随机数

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		/*java.util.Random r=new java.util.Random(10);
		for(int i=0;i<10;i++){
		   System.out.println(r.nextInt());
			}
		}*/
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();
		int m = in.nextInt();
		int k = in.nextInt();
		int[] a=new int[n];
		java.util.Random r=new java.util.Random(k);
		for(int i=0;i<n;i++) {
			//System.out.println(r);
			a[i] = r.nextInt(m);
			
		}
		System.out.println(a[n-1]);
	}
}

求阶乘factorial
编程从键盘输入一个整数,计算出阶乘并输出。

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        BigInteger sum = new BigInteger("1");
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        for(int i = 1; i<= n;i++){
            String temp1 = Integer.toString(i); 
            BigInteger temp2 = new  BigInteger(temp1); 
            sum = sum.multiply(temp2);
        }
        System.out.println(sum);
        
    }
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值