java编程练习(初学者)--掌握基础编程思维

一、java前言

Java的历史和特点
1.历史:Java由Sun Microsystems于1995年发布,最初是为消费电子产品设计的。后来,它因其跨平台特性、强大的网络功能和安全性,迅速成为企业级应用开发的主要语言之一。
2.跨平台性:“一次编写,到处运行”是Java的核心理念,这得益于Java虚拟机(JVM)的存在,使得Java程序可以在任何安装了JVM的平台上运行。
3.面向对象:Java是一种完全的面向对象编程语言,支持封装、继承和多态等OOP特性。
4.安全性:Java提供了沙箱安全模型和内存管理机制,减少了程序出错的可能性,提高了安全性。
5.丰富的API:Java拥有庞大的标准库,涵盖了网络、图形界面、数据库连接、XML解析等多个领域,大大简化了开发工作。

二、java学习路径

1、基础知识:从Java的基本语法开始学起,如变量、数据类型、运算符、控制结构(循环、条件语句)、数组和字符串。
2、面向对象编程:理解类、对象、构造函数、封装、继承、多态的概念和用法。
3、核心类库:学习如何使用Java的内置类,如集合框架(List、Set、Map)、异常处理、输入输出流等。
4、项目实践:通过实际项目来巩固所学知识,可以从简单的命令行应用开始,逐步过渡到GUI应用或Web应用。
5、深入学习:掌握更高级的主题,如并发编程、反射、注解、泛型、lambda表达式等。
工具和框架:熟悉常用的开发工具(如Eclipse、IntelliJ IDEA)和框架(如Spring、Hibernate),这些工具和框架能够极大地提高开发效率。

三、java基础练习(提高编程能力)

题目1:开发验证码问题(随机生成5位数字验证码,前4位是字母包括大小写,最后一位是数字)

解析:首先根据题目要求,随机生成大小写字母,我们可以把这些字母存放到一个数组中通过导入random模块来实现获取随机数组的索引,最后在加入一个0-10以内的数字。

package java编程训练;

import java.util.Random;

public class 开发验证码 {//随机生成5位数字验证码,前4位是字母包括大小写,最后一位是数字

    public static void main(String[] args) {
//首先把26个小写字母存到数组中
char [] chrs=new char[52]
for(int i=0;i<26;i++){
chrs[i]=char(97+i)
}
//把26个大写字母存到数组中

for(int i=26;i<52;i++){
chrs[i]=char(65+i-26)

}

 通过这个方式就可以获得到大小写的26个字母

package java编程训练;

import java.util.Random;

public class 开发验证码 {//随机生成5位数字验证码,前4位是字母包括大小写,最后一位是数字

    public static void main(String[] args) {
        Random r = new Random();
        //生成字母26个,大小写字母一共52个
        //如果是随机生成字母,首先可以把字母放到数组中,然后随机生成数组下标,取出数组中的字母
        char[] chars = new char[52];
        for (int i = 0; i < 26; i++) {
            chars[i] = (char) (97 + i);
        }
        for (int i = 26; i < 52; i++) {
            chars[i] = (char) (65 + i - 26);
        }
        String result = "";
        //随机生成数组下标
        int random_num = r.nextInt(10);

        for (int i = 0; i < 4; i++) {
            int random_index = r.nextInt(52);
            result += chars[random_index];
        }
        System.out.println(result += random_num);
        //获取到10位随机数


    }
}

随后通过random模块随机生成4个数组的索引,和一个数字。就完成了。打印结果

我们每一次运行代码,得到的结果都是不一样的。由此可以完成随机生成验证码的需求。

题目2:评委打分问题;要求键盘输入6位评委的成绩,算出平均分(总分-最高-最低)/4

题目分析:要求键盘输入6位评委给出的成绩,所以我们想到使用方法来完成。

package java编程训练;

import java.util.Scanner;


public class 评委打分 {
    public static void main(String[] args) {




}
public static int[] get_score() {
//创建一个数组存储6位评委的成绩
int []scores=new int[6];
Scanner sc = new Scanner(System.in);
for (int i=0;i<6;){
System.out.println("请输入第" + (i + 1) + "位评委的打分");

int score=sc.nextInt();
scores[i]=score;
if(score>=0&&score<=100){
i++

}
else{
      System.out.println("成绩超出范围,继续输入成绩,当前的i为" + i);


}
return scores;
}

以上是获取通过方法定义获取通过键盘输入来得到6位评委给出的分数。

接下来的步骤就比较简单,只要在主函数中调用方法,拿到最大和最小值就好了。

package java编程训练;

import java.util.Scanner;


public class 评委打分 {
    public static void main(String[] args) {
        int[] score_arr = get_score();
        for (int i = 0; i < score_arr.length; i++) {
            System.out.println(score_arr[i]);
        }
        //找到数组中的最大值
        int max = Max_score(score_arr);
        System.out.println("最大值为:" + max);

        //找到数组中的最小值
        int min = Min_score(score_arr);
        System.out.println("最小值为:" + min);
        //求出总和
        int sum = 0;
        for (int i = 0; i < score_arr.length; i++) {
            sum += score_arr[i];
            
        }sum = sum - min - max;
        int avg = sum / score_arr.length;
        System.out.println("平均分为:" + avg);


    }

    public static int[] get_score() {
        int[] score = new int[6];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < score.length; ) {
            System.out.println("请输入第" + (i + 1) + "位评委的打分");
            int scores = sc.nextInt();
            score[i] = scores;
            if ( scores >= 0 && scores <= 100 ) {
                i++;
            } else {
                System.out.println("成绩超出范围,继续输入成绩,当前的i为" + i);
            }
        }
        return score;

    }

    public static int Max_score(int[] score_arr) {
        int max = score_arr[0];
        for (int i = 0; i < score_arr.length; i++) {
            if ( score_arr[i] > max ) {
                max = score_arr[i];
            }

        }
        return max;

    }

    public static int Min_score(int[] score_arr) {
        int min = score_arr[0];
        for (int i = 0; i < score_arr.length; i++) {
            if ( score_arr[i] < min ) {
                min = score_arr[i];
            }

        }
        return min;

    }
}

 以上就是今天的练习内荣。

四、java学习的注意点

理解基本概念:确保对面向对象编程(OOP)的基本原则有深刻的理解,包括封装、继承和多态。
编码规范:遵循Java的编码规范,如命名约定、代码缩进、注释风格等,这有助于代码的可读性和维护性。
API文档:学会查阅官方API文档,这将帮助你理解和使用Java的类库,避免重复造轮子。
异常处理:了解Java的异常处理机制,学会使用try-catch-finally语句块,以及合理地抛出和捕获异常。
单元测试:养成编写单元测试的习惯,确保代码的健壮性和可靠性。
性能优化:理解Java内存模型,学会分析和优化代码性能,避免内存泄漏等问题。
安全编程:重视代码的安全性,避免SQL注入、XSS攻击等常见安全漏洞。
持续学习:Java生态系统不断更新,新版本会引入新的特性和改进,保持学习最新的Java标准和最佳实践。
实践经验:通过实际项目来应用所学知识,可以是个人项目或是开源贡献,实践是检验学习成果的最佳方式。
社区参与:加入Java开发者社区,如Stack Overflow、GitHub、各种技术论坛等,与其他开发者交流可以加速学习进程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值