Java基础入门_案例大全
- 基础知识
- 1.自加运算符的使用
- 2.关于逻辑运算符
- 3.关于条件语句if
- 4.关于比较运算符
- 5.键盘录入,判断奇偶
- 6.关于switch语句的使用
- 7.使用for循环求1-6数字的和
- 8.使用一张纸折叠多少次能达到珠穆朗玛峰的高度
- 9.数组的基本使用
- 10.定义一个方法,在方法中定义一个变量,判断该数据是否为偶数
- 11.定义方法,判断a是否大于b
- 12.关于传参判断基数偶数
- 13.定义方法求两数的最大值
- 14.关于方法重载
- 15.还是关于方法重载
- 16.关于形参与实参
- 17.利用数组传参来实现改变数据
- 18.关于数组的遍历
- 19.利用数组求得数组中的最大值
- 20.helloword
- 21.关于源码反码补码
- 22.周计划小案例
- 23.鸡兔同笼问题
- 24.字符串相加
- 25.除,取余,模
- 26求一个三位数的百位,十位,个位
- 27.老虎体重比较
- 28.三目运算符,求和尚身高最大
- 29.冒泡法排序
- 30.评委打分
- 31.登录小实验
- 32.学生管理系统实现
基础知识
1.自加运算符的使用
public class ArithmeticoperatorDem04 {
public static void main(String[] args) {
int x=10;
//后++,先用后加
//先把X当中的值拿出来用,赋值给y,然后再进行自增。
//赋值给y的值是自增前的。
int y=x++;
int z=++x;
System.out.println("x:"+x);
System.out.println("y:"+y);
System.out.println("z:"+z);
//1.==判断左右两边是否相等
int a=10;
int b=10;
int c=20;
System.out.println(a==b);
System.out.println(a==c);
}
}
2.关于逻辑运算符
public class ArithmeticoperatorDem05 {
public static void main(String[] args) {
//&&,短路与,结果和&相同,但是有短路效果
//||,短路或,结果和|相同,但是有短路效果
//&,|,无论左边true,false,右边都要执行。
//&&||,如果左边能确定整个表达式的效果,右边不实行。
//案例,若一位数字是6,则true,若和为6的倍数,为true,否则都是false
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一位数字:");
int num1=sc.nextInt();
System.out.println("请输入第二位数字:");
int num2=sc.nextInt();
boolean result=((num1+num2)%6==0)||(num1==6||num2==6);
System.out.println(result
);
}
}
3.关于条件语句if
public class ArithmeticoperatorDem07 {
public static void main(String[] args) {
System.out.println("开始");
int a=10;
int b=20;
if(a==b)
{
System.out.println("a等于b");
}
int c=10;
if(a==c)
{
System.out.println("a等于c");
}
System.out.println("结束");
}
}
4.关于比较运算符
```java
public class ArithmeticoperatorDem08 {
public static void main(String[] args) {
System.out.println("开始");
int a=10;
int b=5;
if(a>b)
{
System.out.println("a>b");
}
else{
System.out.println("a不大于b");
}
System.out.println("结束");
}
}
5.键盘录入,判断奇偶
public class ArithmeticoperatorDem09 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入数据");
int num1=sc.nextInt();
if(num1%2==0){
System.out.println("数字是偶数");
}else{
System.out.println("数字是基数");
}
System.out.println();
}
}
6.关于switch语句的使用
public class ArithmeticoperatorDem10 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(true)
{
System.out.println("请输入一个星期数:(1~7)");
int num=sc.nextInt();
switch(num)
{
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("input error!");
}
}
}
}
7.使用for循环求1-6数字的和
public class ArithmeticoperatorDem11 {
public static void main(String[] args) {
int num=0;
for(int i=1;i<6;i++)
{
num+=i;
}
System.out.println(num);
}
}
8.使用一张纸折叠多少次能达到珠穆朗玛峰的高度
public class ArithmeticoperatorDem12 {
public static void main(String[] args) {
int count=0;
double paper=0.1;
int zf=8844430;
//ctrl + c 结束死循环
while(paper<=zf)
{
paper*=2;
count+=1;
}
System.out.println("折叠:"+count+"次");
}
}
9.数组的基本使用
public class ArithmeticoperatorDem13 {
public static void main(String[] args) {
//动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
//格式:数据类型[]=变量名=new 数据类型[数组长度];
//范例:int[]arr=new int [3];
int[]arr=new int[40];
//new 为数组申请内存空间
//数组元素访问,
System.out.println(arr);
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
arr[0]=100;
arr[2]=200;
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
//0是由系统进行分配的。
//栈内存:存储局部变量
//堆内存:存储new出来的内容(实体,对象);
//多个数组指向相同的内存。
int []arr1=new int[3];
int []arr3=arr1;
System.out.println(arr1);
System.out.println(arr3);
//数组初始化之静态初始化
int []arr5={1,2,3};
System.out.println(arr5);
System.out.println(arr5[0]);
System.out.println(arr5[1]);
System.out.println(arr5[2]);
//System.out.println(arr5[3]);
int []arr6={11,22,33,44,55};
//获取数组元素数量
//格式:数组名.length
for(int i=0;i< arr6.length;i++)
{
System.out.println(arr6[i]);
}
}
}
10.定义一个方法,在方法中定义一个变量,判断该数据是否为偶数
public class ArithmeticoperatorDem14 {
public static void main(String[] args) {
//调用方法
isEvenNumber();
System.out.println();
}
//需求:定义一个方法,在方法中定义一个变量,判断该数据是否为偶数
public static void isEvenNumber (){
//int num=9;
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个数字");
int num=sc.nextInt();
if(num%2==0)
{
System.out.println(true);
}
else{
System.out.println(false);
}
}
}
11.定义方法,判断a是否大于b
public class ArithmeticoperatorDem15 {
public static void main(String[] args) {
max();
//System.out.println();
}
public static void max()
{
int a=10;
int b=20;
if(a>b){
System.out.println(true);
}
else{
System.out.println(false);
}
}
}
12.关于传参判断基数偶数
public class ArithmeticoperatorDem16 {
public static void main(String[] args) {
isEvenNum(10);
int number=10;
isEvenNum(number);
System.out.println();
}
public static void isEvenNum(int num)
{
if(num%2==0)
{
System.out.println("偶数");
}
else{
System.out.println("基数");
}
}
}
13.定义方法求两数的最大值
public class ArithmeticoperatorDem17 {
public static void main(String[] args) {
int result=getMax(10,20);
System.out.println(result);
}
public static int getMax(int a,int b)
{
if(a>b){
return a;
}
else{
return b;
}
}
}
14.关于方法重载
public class ArithmeticoperatorDem18 {
public static void main(String[] args) {
//调用方法
int result=sum(10,20);
System.out.println(result);
double result2=sum(10.0,20.0);
System.out.println(result2);
int result3=sum(20,30,40);
System.out.println(result3);
}
//方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
//多个方法在同一个类中
//多个方法具有相同的方法名
//多个方法的参数不相同,类型不同或者数量不同
//6.2方法重载特点
//重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
//重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否构成相互重载
//需求一:求两个int类型数据和的方法
public static int sum(int a,int b)
{
return a+b;
}
//需求二:求两个double类型数据和方法
public static double sum(double a,double b)
{
return a+b;
}
//需求三:求三个int类型数据和的方法
public static int sum(int a,int b,int c)
{
return a+b+c;
}
}
15.还是关于方法重载
public class ArithmeticoperatorDem19 {
public static void main(String[] args) {
System.out.println( compare(10,20));
System.out.println( compare((byte)10,(byte)20));
System.out.println( compare((short)10,(short)10));
}
//int
public static boolean compare(int a,int b){
System.out.println("int");
return a==b;
}
//byte
public static boolean compare(byte a,byte b){
System.out.println("byte");
return a==b;
}
//short
public static boolean compare(short a,short b){
System.out.println("short");
return a==b;
}
//long
public static boolean compare(long a,long b){
System.out.println("long");
return a==b;
}
}
16.关于形参与实参
public class ArithmeticoperatorDem20 {
public static void main(String[] args) {
//对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
int num=100;
System.out.println("调用change方法前:"+num);
change(num);
System.out.println("调用方法后:"+num);
}
public static void change(int num)
{
num=200;
}
}
17.利用数组传参来实现改变数据
public class ArithmeticoperatorDem21 {
public static void main(String[] args) {
//方法参数传递(引用类型)
//数组 在堆内存
int []arr={10,20,30};
System.out.println("调用change方法前:"+arr[1]);
change(arr);
System.out.println("调用change方法后:"+arr[1]);
System.out.println();
}
public static void change(int[]arr){
arr[1]=200;
}
}
18.关于数组的遍历
public class ArithmeticoperatorDem22 {
public static void main(String[] args) {
// System.out.println("内容");输出内容并换行
// System.out.print("内容");输出内容不换行
//System.out.println();起到换行的作用
int []arr={11,22,33,44,555};
printArray(arr);
}
public static void printArray(int[]arr)
{
for(int a=0;a<arr.length;a++)
{
System.out.print(arr[a]+" ");
}
}
}
19.利用数组求得数组中的最大值
public class ArithmeticoperatorDem23 {
public static void main(String[] args) {
int[] arr = {11, 22, 33, 22, 55, 33};
int a = getMax(arr);
System.out.println(a);
}
public static int getMax(int[] arr) {
int max = arr[0];
for (int a = 0; a < arr.length; a++) {
if (arr[a] > max) {
max = arr[a];
}
}
return max;
}
}
20.helloword
public class Helloworld2 {
public static void main(String[] args) {
System.out.println("helloworld");
}
}
21.关于源码反码补码
public class l原码反码补码 {
public static void main(String[] args) {
//原码:十进制数据的二进制数据的表现形式,最左边的是符号位,0为正,1为负。
//原码:;利用原码对正数进行计算是没有问题的。但是
//如果是负数计算,结果就会出错,实际运算的结果,跟我们预期的结果是相反的。
//反码:为了解决原码不能计算负数的问题而出现的。
//负数的原码为该数对应的无符号数的二进制,将首位设置为1
//反码计算规则:负数的反码在原码的基础上,符号位不变,数值取反,0变一,1变零
//例如:-56原码:10111000 反码:11000111
// 正数的反码补码是其本身,负数的反码是符号位保持不变,其余位取反。
//补码:正数的补码是其本身,负数的补码是再其反码的基础上+1
System.out.println();
}
}
22.周计划小案例
public class tf星期计划 {
public static void main(String[] args) {
choice();
}
public static void choice(){
Scanner sc=new Scanner(System.in);
System.out.println("请输入星期数:");
int b=sc.nextInt();
if(b>7||b<1){
System.out.println("你输入的星期数有误");
return;
}
else if(b==1){
System.out.println("跑步");
}
else if(b==2){
System.out.println("游泳");
}
else if(b==3){
System.out.println("慢走");
}
else if(b==4){
System.out.println("动感单车");
}
else if(b==5){
System.out.println("拳击");
}
else if(b==6){
System.out.println("爬山");
}
else if(b==7){
System.out.println("好好吃一顿");
}
}
}
23.鸡兔同笼问题
public class tf鸡兔同笼 {
public static void main(String[] args) {
for(int x=0;x<=20;x++)
{
for(int y=0;y<=33;y++){
int z=100-x-y;
if(z%3==0&&5*x+3*y+z/3==100){
System.out.println(x+","+y+","+z);
}
}
}
}
}
24.字符串相加
public class 输出与字符串相加03 {
public static void main(String[] args) {
byte b1=100;
byte b2=100;
byte result=(byte)(b1+b2);
System.out.println(result);
System.out.println(3.7+"abc");
System.out.println("abc"+true);
System.out.println('中'+"abc"+true);
int age=20;
System.out.println("我的年龄是"+age+"岁");
System.out.println("我的年龄是"+"age"+"岁");
System.out.println(1+2+"abc"+1+2);
int a=10;
a++;
System.out.println(a);
++a;
System.out.println(a);
a--;
System.out.println(a);
--a;
System.out.println(a);
}
}
25.除,取余,模
public class 除和取余02 {
public static void main(String[] args) {
System.out.println(10/2);
System.out.println(10/3);
System.out.println(10.0/3);
System.out.println(10/3.0);
System.out.println(10.0/3.0);
//取模
System.out.println(10%3);
}
}
26求一个三位数的百位,十位,个位
public class Test1 {
public static void main(String[]args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入一位数字:");
int num= sc.nextInt();
int ge=num%10;
int shi=num/10%10;
int bai=num/100%100;
System.out.println("个位是"+ge);
System.out.println("十位是"+shi);
System.out.println("百位是"+bai);
}
}
27.老虎体重比较
public class Test3 {
public static void main(String[] args) {
//设计程序判断两只老虎体重是否相同
//1.键盘录入
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一只老虎的体重:");
int num1=sc.nextInt();
System.out.println("请输入第二只老虎的体重:");
int num2=sc.nextInt();
//2.比较
String result=(num1==num2? "相同":"不同");
System.out.println(result);
}
}
28.三目运算符,求和尚身高最大
public class Test4 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请分别输入三个和尚的身高");
int num1=sc.nextInt();
int num2=sc.nextInt();
int num3=sc.nextInt();
int max=num1>num2?num1:num2;
max=max>num3?max:num3;
System.out.println(max);
}
}
29.冒泡法排序
public class Test5 {
public static void main(String[] args) {
int[]arr={19,28,37,46,50};
for(int start=0, end=arr.length-1;start<=end;start++,end--){
int temp=arr[start];
arr[start]=arr[end];
arr[end]=temp;
}
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
30.评委打分
public class Test06 {
public static void main(String[] args) {
//定义一个数组,用动态初始化完成数组元素的初始化,长度为6;
int[]arr=new int[6];
//键盘输入一个整数
int sum=0;
Scanner sc=new Scanner(System.in);
for(int x=0;x<arr.length;x++){
System.out.println("请输入第"+(x+1)+"个评委的打分");
arr[x]=sc.nextInt();
sum+=arr[x];
}
int max=getMax(arr);
int small=getSmall(arr);
System.out.println(max);
System.out.println(small);
System.out.println("总和为:"+sum);
sum=sum-max;
sum=sum-small;
double pip=sum/(arr.length-2);
System.out.println("除去最高和最低分的平均分是:"+pip);
System.out.println();
}
public static int getMax(int[]arr){
int max=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
return max;
}
public static int getSmall(int[]arr){
int small=arr[0];
for(int j=0;j<arr.length;j++){
if(arr[j]<small){
small=arr[j];
}
}
return small;
}
}
31.登录小实验
public class Test7 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String username="guojianlin";
String password="guo";
for(int i=0;i<3;i++){
System.out.println("请输入用户名:");
String name=sc.nextLine();
System.out.println("请输入密码");
String pwd=sc.nextLine();
if(name.equals(username)&&pwd.equals(password)){
System.out.println("登录成功");
}
else{
if(2-i==0){
System.out.println("你的账户被锁定,请与管理员联系。");
}else
System.out.println("登录失败,你还有"+(2-i)+"次机会");
}
}
}
}
32.学生管理系统实现
1.学生类的定义
public class Student {
//学号
private String sid;
//姓名
private String name;
//年龄
private String age;
//居住地
private String address;
public Student() {
}
public Student(String sid, String name, String age, String address) {
this.sid = sid;
this.name = name;
this.age = age;
this.address = address;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
2.测试类的实现
public class StudentManger {
public static void main(String[] args) {
//创建集合对象,用于存储学生数据
ArrayList<Student> array=new ArrayList<Student>();
while (true) {
//用输出语句完成主页面的编写
System.out.println("欢迎来到学生管理系统");
System.out.println("1.添加学生");
System.out.println("2.删除学生");
System.out.println("3.修改学生");
System.out.println("4.查看所有学生");
System.out.println("5.退出");
System.out.println("请输入你的选择:");
//用Scanner实现键盘的录入数据
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
//用switch完成操作的选择
switch (line) {
case "1":
addStudent(array);
break;
case "2":
deleteStudent(array);
break;
case "3":
updateStudent(array);
break;
case "4":
findAllStudent(array);
break;
case "5":
System.out.println("谢谢使用");
System.exit(0);
break;
}
}
}
public static void addStudent(ArrayList<Student> array)
{
//键盘录入学生对象所需要的数据,显示提示信息,提示要输入何种信息
Scanner sc=new Scanner(System.in);
System.out.println("请输入学生学号:");
String sid=sc.nextLine();
System.out.println("请输入学生姓名:");
String name=sc.nextLine();
System.out.println("请输入学生年龄:");
String age=sc.nextLine();
System.out.println("请输入学生居住地:");
String address=sc.nextLine();
Student s=new Student();
s.setSid(sid);
s.setAge(age);
s.setAddress(address);
s.setName(name);
//将学生对象添加到集合中
array.add(s);
System.out.println("添加学生成功");
}
public static void findAllStudent(ArrayList<Student> array)
{
//显示表头信息
System.out.println("学号\t\t\t姓名\t\t年龄\t\t居住地");
for(int i=0;i<array.size();i++)
{
Student s=array.get(i);
System.out.println(s.getSid()+"\t"+s.getName()+"\t"+s.getAge()+"岁\t"+s.getAddress());
}
}
public static void deleteStudent(ArrayList<Student> array)
{
//键盘录入要删除的学生学号,显示提示信息
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要删除的学生的学号:");
String sid=sc.nextLine();
//遍历集合将对应学生对象从集合中删除
int index=-1;
for (int i=0;i<array.size();i++)
{
Student s=array.get(i);
if(s.getSid().equals(sid))
{
index=i;
array.remove(i);
break;
}
}
if(index==-1)
{
System.out.println("改信息不存在,请从新输入");
}else{
array.remove(index);
}
//给出删除成功提示
System.out.println("删除成功");
}
public static void updateStudent(ArrayList<Student> array)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入你要修改的学生的学号:");
String sid=sc.nextLine();
System.out.println("请输入学生新姓名:");
String name=sc.nextLine();
System.out.println("请输入学生新年龄:");
String age=sc.nextLine();
System.out.println("请输入学生新居住地:");
String address=sc.nextLine();
Student s=new Student();
s.setAddress(address);
s.setName(name);
s.setAge(age);
for (int i=0;i<array.size();i++)
{
Student student=array.get(i);
if(s.getSid().equals(sid))
{
array.set(i,s);
break;
}
}
System.out.println("修改完成!");
}
}
本文提供了一系列Java基础入门的编程案例,包括自加运算符、逻辑运算符、条件语句(if、switch)、比较运算符、数组操作、方法定义及重载、参数传递等,帮助初学者深入理解Java语言的关键概念。

被折叠的 条评论
为什么被折叠?



