java基础知识题库,最基础的JAVA题

1,最基础的JAVA题乱打`package test;public class Arr{ /*** @param args*/ public static void main(String[] args) {// TODO Auto-generated method stubint arr[]=new int[20];arr[0]=0;arr[1]=1;for(int i=2;i<20;i++){arr[i]=arr[i-1]+arr[i-2];}for(int i=0;i<20;i++){System.out.print(" "+arr[i]);} }}输出结果:0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
2,java 初学者题目第一题: (输入每个值的时候都按回车,这个值中夹杂"stop"列入停止范围)具体程序如下: import java.util.Scanner; public class WhenStopOthers1 public static void main(String[] args) // TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.println("请输入:");String str = input.next();while (!str.equals("stop"))System.out.println("请继续输入,直到输入stop为止:");str = input.next();}System.out.println("输入结束.");} } /** *********************我是分隔线******************* **/第二题: (对已经赋值的一维数组进行逆序输出) 程序如下:public class BackOutpublic static void main(String[] args)String[] s =for(int i = s.length - 1; i &gt;= 0 ; i--) System.out.print(s[i]);if(i == 0) System.out.println();}}} }
3 , JAVA基础编程题package com.qiu.swing.layoutDemo;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.Box;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JRootPane;import javax.swing.JTextField;/** * * @author Qiu * */public class TextDemo extends JFrame final JButton button_show = new JButton("显示"); final JButton button_clear = new JButton("显示"); final JTextField text = new JTextField(); final Container con = this.getContentPane(); public TextDemo()this.setTitle("HelloWorld!"); this.setSize(300, 160); // 居中 this.setLocationRelativeTo(null); this.setUndecorated(true); // 去掉窗口的装饰 this.setResizable(false); this.getRootPane().setWindowDecorationStyle( JRootPane.INFORMATION_DIALOG);// 采用指定的窗口装饰风格 // 文字居中 text.setSize(100, 20); Box vbox = Box.createVerticalBox(); Box xbox0 = Box.createHorizontalBox(); xbox0.add(text); xbox0.add(button_show); xbox0.add(button_clear); vbox.add(xbox0); vbox.add(Box.createVerticalStrut(100)); con.setLayout(new BoxLayout(con, BoxLayout.X_AXIS)); con.add(vbox); button_show.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)text.setText("HelloWorld"); } }); button_clear.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)text.setText(""); } });} public static void main(String[] args)TextDemo home = new TextDemo(); home.setVisible(true); }}【java基础知识题库,最基础的JAVA题】
4,java基础题目public class TestEmployee { public static void main(String[] args) {// 在这里面可以测试 }}class Employee{ private String name; private int birthMonth; public Employee(String name,int birthMonth){this.name=name;this.birthMonth=birthMonth; } public String getName(){return name; } public double getSalary(int month){if (this.birthMonth==month) return 100;else return 0; }}class SalariedEmployee extends Employee{ private double salary; public SalariedEmployee(String name,int birthMonth,double salary){super(name,birthMonth);this.salary=salary; } public double getSalary(int month){return salary+super.getSalary(month); }}class HourlyEmployee extends Employee{ private double salaryPerHour; private int hours; public HourlyEmployee(String name, int birthMonth, double salaryPerHour, int hours) {super(name, birthMonth);this.salaryPerHour = salaryPerHour;this.hours = hours; } public double getSalary(int month){double result=0;if (hours>160) result=160*this.salaryPerHour+(hours-160)*this.salaryPerHour*1.5;else result=this.hours*this.salaryPerHour;return result+super.getSalary(month); }}class SalesEmployee extends Employee{ private double sales; private double rate; public SalesEmployee(String name, int birthMonth, double sales, double rate) {super(name, birthMonth);this.sales = sales;this.rate = rate; } public double getSalary(int month) {return this.sales*this.rate+super.getSalary(month); }}class BasePlusSalesEmployee extends SalesEmployee{ private double basedSalary; public BasePlusSalesEmployee(String name, int birthMonth, double sales, double rate, double basedSalary) {super(name, birthMonth, sales, rate);this.basedSalary = basedSalary; } public double getSalary(int month) {return this.basedSalary+super.getSalary(month); }} 做过相应的程序懒得再写明天找到了发你上面的那位真强很简单啊,做个封装类Employee , SalariedEmployee和HourlyEmployee继承Employee , 其中的getSalary(int month)方法覆盖原方法,后面的也一样,我只给出思路,代码自己写下吧 , 这个就是个敲代码的题5,要JAVA基础的一些练习题与参考答案一、问答题1、Java语言的数据类型有哪些?8答:有byte(字节型)、char(字符型)、boolean(布尔型)、short(短整型)、int(整型)、long(长整型)、浮点型:float(单精度)、double(双精度) 。2、写出算术运算符、关系运算符、逻辑运算符各自包含的运算符,写出条件运算符的形式,并简述其执行过程 。10答:算术运算符:++、--、+、-、*、/、%关系运算符:!=、>=、<=、>、<、==逻辑运算符:!(逻辑非)、&&(逻辑与)、||(逻辑或)条件运算符的形式:表达式1?表达式2:表达式3;3、数组有怎样的特征?写出一维数组两种初始化的语法格式(可使用具体的实例) 。10答:数组特征:数组有若干个元素;各元素有相同的数据类型;按一定的顺序排列;一维数组两种初始化的语法格式:int a[]=new int[2];a[0]=1;a[1]=2;或int a[];a[]=new int[2];a[0]=1;a[1]=2;int a[]=4、比较顺序表、栈、队列的异同点,分别写出冒泡法排序的主要特点 。12答:都运用数组的知识,都运用了方法调用;栈的特点是:冒泡法排序的主要特点:经过多轮循环 , 每一轮循环从最后一个元素依次与前面的元素比较大小,最终找到的最小元素排在第一位,第一轮循环终止;再依次进行下一轮循环 。二、编程题1、规定一个工人工作时间一月160小时,每小时工资5元,加班的话,每小时增加4元,请编程计算此工人一个月的工资,工作时间由键盘输入 。15import jaimport java.io.*;pubic class Qgrgz2、编程求解1—100中是7的倍数的数值的和 。15public class Qh3、输入3名学生4门课程的成绩 , 分别统计每个学生4门课程的平均成绩 。15import java.io.*;public class Pjf4、运用方法调用求一维数组中的最大元素及下标 , 在main方法中输入数组元素 。15import java.io.*;public class Qszzdys5、运用选择法对23,45,34,78 , 99,12,50 , 0这组数进行升序排列 。(选做题,做了加分,没做不减分)15public class Paixu以Singleton为例子Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在 。一般Singleton模式通常有几种种形式:第一种形式: 定义一个类,它的构造函数为private的 , 它有一个static的private的该类变量,在类初始化时实例话 , 通过一个public的getInstance方法获取对它的引用,继而调用其中的方法 。public class Singleton第二种形式: public class Singleton 内部类的实现方式package test;public classOuterClass继承时候类的执行顺序问题package test;public classFatherClass程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字 。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 。1.程序分析:关键是计算出每一项的值 。【程序9】 题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 " 。例如6=1+2+3.编程 找出1000以内的所有完数 。【程序10】 题目:一球从100米高度自由落下 , 每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 【程序11】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4 。组成所有的排列后再去 掉不满足条件的排列 。【程序12】 题目:企业发放的奖金根据利润提成 。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分 , 可提成5%;40万到60万之间时高于40万元的部分,可提成 3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I , 求应发放奖金总数? 1.程序分析:请利用数轴来分界 , 定位 。注意定义时需把奖金定义成长整型 。【程序13】 题目:一个整数 , 它加上100后是一个完全平方数,再加上168又是一个完全平方数 , 请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果 。请看具体分析: 【程序14】 题目:输入某年某月某日 , 判断这一天是这一年的第几天? 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天 。【程序15】 题目:输入三个整数x,y,z,请把这三个数由小到大输出 。1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x最小 。【程序16】 题目:输出9*9口诀 。1.程序分析:分行与列考虑,共9行9列 , i控制行,j控制列 。【程序17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半 , 还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半 , 又多吃了一个 。以后每天早上都吃了前一天剩下 的一半零一个 。到第10天早上想再吃时,见只剩下一个桃子了 。求第一天共摘了多少 。1.程序分析:采取逆向思维的方法,从后往前推断 。【程序18】 题目:两个乒乓球队进行比赛,各出三人 。甲队为a,b,c三人,乙队为x,y,z三人 。已抽签决定比赛名单 。有人向队员打听比赛的名单 。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单 。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数) , 如果能被整除,则表明此数不是素数,反之是素数 。【程序19】 题目:打印出如下图案(菱形) ** ****** ************ **************** ************ ****** ** 1.程序分析:先把图形分成两部分来看待,前四行一个规律 , 后三行一个规律 , 利用双重 for循环,第一层控制行,第二层控制列 。【程序20】 题目:有一分数序列:2/1,3/2 , 5/3 , 8/5 , 13/8 , 21/13...求出这个数列的前20项之和 。1.程序分析:请抓住分子与分母的变化规律 。【程序21】 题目:求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘 。【程序22】 题目:利用递归方法求5! 。1.程序分析:递归公式:fn=fn_1*4! 【程序23】 题目:有5个人坐在一起 , 问第五个人多少岁?他说比第4个人大2岁 。问第4个人岁数,他说比第3个人大2岁 。问第三个人 , 又说比第2人大两岁 。问第2个人,说比第一个人大两岁 。最后问第一个人,他说是10岁 。请问第五个人多大? 1.程序分析:利用递归的方法,递归分为回推和递推两个阶段 。要想知道第五个人岁数,需知道第四人的岁数,依次类推 , 推到第一人(10岁),再往回推 。【程序24】 题目:给一个不多于5位的正整数,要求:一、求它是几位数 , 二、逆序打印出各位数字 。【程序25】 题目:一个5位数,判断它是不是回文数 。即12321是回文数,个位与万位相同 , 十位与千位相同 。【程序26】 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样 , 则继续 判断第二个字母 。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母 。【程序27】 题目:求100之内的素数 【程序28】 题目:对10个数进行排序 1.程序分析:可以利用选择法,即从后9个比较过程中 , 选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换 。【程序29】 题目:求一个3*3矩阵对角线元素之和 1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出 。【程序30】 题目:有一个已经排好序的数组 。现输入一个数 , 要求按原来的规律将它插入数组中 。1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置 。【程序31】 题目:将一个数组逆序输出 。1.程序分析:用第一个与最后一个交换 。【程序32】 题目:取一个整数a从右端开始的4~7位 。程序分析:可以这样考虑: (1)先使a右移4位 。(2)设置一个低4位全为1,其余全为0的数 。可用~(~0 < <4) (3)将上面二者进行&运算 。【程序33】 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 【程序34】 题目:输入3个数a,b,c , 按大小顺序输出 。1.程序分析:利用指针方法 。【程序35】 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组 。【程序36】 题目:有n个整数 , 使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 【程序37】 题目:有n个人围成一圈,顺序排号 。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位 。【程序38】 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度 。【程序39】 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数) 【程序40】 题目:字符串排序 。【程序41】 题目:海滩上有一堆桃子,五只猴子来分 。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份 。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 【程序42】 题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数 , 9*??的结果为3位数 。求??代表的两位数,及809*??后的结果 。【程序43】 题目:求0—7所能组成的奇数个数 。【程序44】 题目:一个偶数总能表示为两个素数之和 。【程序45】 题目:判断一个素数能被几个9整除 【程序46】 题目:两个字符串连接程序 【程序47】 题目:读取7个数(1—50)的整数值 , 每读取一个值,程序打印出该值个数的* 。【程序48】 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的 , 加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换 。【程序49】 题目:计算字符串中子串出现的次数 【程序50】 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud "中 。我个人觉得还是做项目学得最快,不要在这些基础东西上花太多的时间 。要往前走,你现在才走出了第一步,后面的路还长得很 。我有PHP的,要不要啊 。。。

    推荐阅读