=0;i--){System.out.print(s.ch" />
搜档网
当前位置:搜档网 › Java初学者编程练习锦集(1)

Java初学者编程练习锦集(1)

Java初学者编程练习锦集(1)
Java初学者编程练习锦集(1)

Java编程练习:

1.下面有一串字符串,处理后让其倒序输出。

原字符串:i am a student

输出:tneduts a ma i

代码如下:

public class StringPractic {

public static void main(String args[]){

String s = "i am a student";

for(int i=s.length()-1;i>=0;i--){

System.out.print(s.charAt(i));

}

}

}

输出结果入下:

tneduts a ma i

2.下面的一串字符,请统计其中‘0’到‘9’的各个数字的个数。

原字符串:91254782354987012345978

输出:0:1 1:2 2:3 3:2 4:3 5:3 7:3 8:3 9:3

程序代码如下:

public class Digit {

public static void main(String args[]){

String s = "91254782354987012345978";

int a[] = new int[10];

for(int i=0;i

a[s.charAt(i)-'0']++;

}

for(int j=0;j<10;j++)

System.out.printf("%d:%d ",j, a[j]);

}

}

运行结果如下:

0:1 1:2 2:3 3:2 4:3 5:3 6:0 7:3 8:3 9:3

3.public class New {

public static void main(String args[]){

int a = 1;

int b = 1;

System.out.println("使用后置运算符的结果为:"+(a++));

System.out.println("使用前置运算符的结果为:"+(++b));

}

}

运行结果:

使用后置运算符的结果为:1

使用前置运算符的结果为:2

4.public class New {

public static void main(String args[]){

int a = 3;

int b = 4;

System.out.println("使用条件运算符显示");

String s = (a

System.out.println(s);

System.out.println("使用if条件语句显示");

if(a

System.out.println("a小于b");

}

else{

System.out.println("a大于b");

}

}

}

运行结果:

使用条件运算符显示

a小于b

使用if条件语句显示

a小于b

5.9*9乘法表

public class New {

public static void main(String args[]){

int i = 9;

int j = 9;

while(i>=1){

while((j<=i)&&(j>0)){

System.out.print(i+"*"+j+"="+i*j+" ");

j--;

}

System.out.println(" ");

i--;

j = i;

}

}

}

运行结果如下:

9*9=81 9*8=72 9*7=63 9*6=54 9*5=45 9*4=36 9*3=27 9*2=18 9*1=9 8*8=64 8*7=56 8*6=48 8*5=40 8*4=32 8*3=24 8*2=16 8*1=8

7*7=49 7*6=42 7*5=35 7*4=28 7*3=21 7*2=14 7*1=7

6*6=36 6*5=30 6*4=24 6*3=18 6*2=12 6*1=6

5*5=25 5*4=20 5*3=15 5*2=10 5*1=5

4*4=16 4*3=12 4*2=8 4*1=4

3*3=9 3*2=6 3*1=3

2*2=4 2*1=2

1*1=1

6.用for语句修改9*9乘法表:

public class New {

public static void main(String args[]){

for(int i=1;i<10;i++){

for(int j=1;j<10;j++){

if(j<=i){

System.out.print(i+"*"+j+"="+(i*j)+" ");

}

}

System.out.println(" ");

}

}

}

运行结果如下:

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9

4*1=4 4*2=8 4*3=12 4*4=16

5*1=5 5*2=10 5*3=15 5*4=20 5*5=25

6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36

7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64

9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

7.等边三角形:

public class New {

public static void main(String args[]){

char s[] = {' ',' ',' ',' ',' ',' ',' ',' ',' ','1',' ',' ',' ',' ',' ',' ',' ',' ',' '};

System.out.println(s);

for(int i=2;i<10;i++){

s[10-i]=(char)('0'+i);

s[8+i]=(char)('0'+i);

System.out.println(s);

}

s[0]='*';

s[18]='*';

System.out.println(s);

}

}

运行结果如下:

1

212

32123

4321234

543212345

65432123456

7654321234567

876543212345678

98765432123456789

*98765432123456789*

8.用for改写如下:

public class Old {

public static void main(String args[]){

for(int i=1;i<10;i++){

for(int j=1;j<11-i;j++){

System.out.print(' ');

}

for(int s=i;s>0;s--){

System.out.print(s);

}

for(int s=2;s

System.out.print(s);

}

System.out.println();

}

System.out.println("*98765432123456789*");

}

}

运行结果:

1

212

32123

4321234

543212345

65432123456

7654321234567

876543212345678

98765432123456789

*98765432123456789*

9.用for循环为数组赋值

代码如下:

public class Xunhuan {

public static void main(String args[]){

int a[] = new int[10];

for(int i=0;i

a[i]=i+1;

System.out.println("数组中各个元素的值为:"+a[i]);

}

}

}

运行结果:

数组中各个元素的值为:1

数组中各个元素的值为:2

数组中各个元素的值为:3

数组中各个元素的值为:4

数组中各个元素的值为:5

数组中各个元素的值为:6

数组中各个元素的值为:7

数组中各个元素的值为:8

数组中各个元素的值为:9

数组中各个元素的值为:10

10.利用数组打印26个引文字母:

public class Array {

public static void main(String args[]){

char[] a;

a = new char[26];

for(int i=0;i<26;i++){

a[i] = (char)('A'+i);

System.out.print(a[i]);

if(a[i]=='Z'){

System.out.println("结束");

}

}

}

}

运行结果:

ABCDEFGHIJKLMNOPQRSTUVWXYZ结束

11.火山机器人程序:

class VolcanoRobot{

String status;

int speed;

float temperature;

void checkTemperature(){

if(temperature > 660){

status = "returning home";

speed = 5;

}

}

void showAttributes(){

System.out.println("Status: " + status);

System.out.println("Speed: " + speed);

System.out.println("Temperature: " + temperature);

}

public static void main(String args[]){

VolcanoRobot dante = new VolcanoRobot();

dante.status = "exploring";

dante.speed = 2;

dante.temperature = 510;

dante.showAttributes();

System.out.println("Incresing speed to 3.");

dante.speed = 3;

dante.showAttributes();

System.out.println("Changing temperature to 670.");

dante.temperature = 670;

dante.showAttributes();

System.out.println("Checking the temperature.");

dante.checkTemperature();

dante.showAttributes();

}

}

运行结果:

Temperature: 510.0

Incresing speed to 3.

Status: exploring

Speed: 3

Temperature: 510.0

Changing temperature to 670.

Status: exploring

Speed: 3

Temperature: 670.0

Checking the temperature.

Status: returning home

Speed: 5

Temperature: 670.0

Java入门基础代码

例1-1 DoubleVariableDemo.java class DoubleVariableDemo{ public static void main(String args[]){ double dRadius=2.0d; double dArea=Math.PI*dRadius*dRadius; System.out.println("半径为2的圆的面积:"+dArea); } } 例1-2 BooleanConstantDemo.java class BooleanConstantDemo{ public static void main(String args[]){ final boolean BFLAG=true; if(BFLAG) System.out.println("Always Print Out Me!"); else System.out.println("Never Print Out Me!"); } } 例1-3 DecisionDemo.java class DecisionDemo{ public static void main(String args[]){ short x=1,y=2,z; // 错误代码 // z = x + y; // 正确代码 z=(short)(x+y); System.out.println(z); } } 例1-4 IntegerConstantDemo . java class IntegerConstantDemo{ public static void main(String args[]){ final byte nMaxValue_1=100; final short nMaxValue_2=200; final int nMaxValue_3=300; final long nMaxValue_4=400; System.out.println("整数常量的nMaxValue_1值"+nMaxValue_1); System.out.println("整数常量的nMaxValue_2值"+nMaxValue_2); System.out.println("整数常量的nMaxValue_3值"+nMaxValue_3); System.out.println("整数常量的nMaxValue_4值"+nMaxValue_4); // nMaxValue_1 = nMaxValue_1 + 1; 不能更改常量的值

java初学者学习心得

学习Java心得体会 学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。一直觉得自己在学计算机编程语言,学习了很多,但每门语言都停留在知识边缘地带,都没深入到它们的精华部分,对它们的精华部分知之甚少,于是趁学校开设这门课,并且有自己的老师讲解,还有了上机的机会,比自己自学省事多了,于是鼓足信心,开始了漫长的java征途。 还记得我编写的第一个经典程序“hello W ord”。从那时起我已开始走进Java的世界。当时自己不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?问了好多同学,他们告诉我的答案是一样的“java本身要求就是这样子的”,但我自己不甘心,就进行了下面的好多操作:把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;把main的public取掉,在试试看,报什么错误;static去掉还能不能运行;不知道main方法是否一定要传一个String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。结果把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么了main方法是这样定义的了。接着在以后的学习中我也采用这样的方法解决问题,却发现自己的速度比别人慢了好多,我就把自己的课余时间也分一部分给了java。因为基

础是最重要的,只有基础牢固才有可能对后面的学习有更加深刻的认识! 学习一门新的语言,参考书是离不开的。听老师说订的教材偏难,不适合我们初学者,于是我在图书馆借了参考书(一本篇幅较短的入门书来学习那些最简单、最基本的东西,包括学习Java语法等)。同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。 在学习Java的语法时,Java的语法是类似c语言的,所以学习的比较轻松。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,和同学一起讨论了好久才得以解决。 在学习Java的面向对象的编程语言的特性。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C语言的经验,花了很长时间,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了很多遍,才彻底领悟了。 开始熟悉Java的类库。基础类库里面的类非常非常多。据说有3000多个。但是我真正使用的只有几个,比如说java.io.*; java.util.*; java.sql.*;等。

Java初学者

总结 1. 用记事本编写程序输出“HelloWorld” public class B1{ public static void main (String[] args) { System.out.print("hello world");}} 2. 结合\n,\t,空格等,在控制台输出下图所示效果。 public class B1{ public static void main (String[] args) { System.out.print("日\t一\t二\t三\t四\t五\t六\n\t\t \t1\t2\t3\t4\n5\t6\t7\t8\t9\t10\t11\n12\t13\t14\t15\t16\t17 \t18\n19\t20\t21\t22\t23\t24\t25\n26\t27\t28\t29\t30\t31"); }} 3. 结合\n,\t,空格等,在控制台输出下图所示效果。 public class B1{ public static void main (String[] args) { System.out.print("*************************\n\t人事管理系统\n\t1.添加用户\n\t2.管理用户\n\t2.退出系统");} } 4. 结合\n,\t,空格等,在控制台输出下图所示效果。 public class B1{ public static void main (String[] args) { System.out.print("*********\n*******\n*****\n***\n*");} }

Java基础入门教程(适合所有初学者)

第1章 Java语言概述与面向对象思想 1 1.1 Java语言的发展 1 1.1.1 Java语言的产生 1 1.1.2 Java语言的发展 1 1.2 Java语言的特点 2 1.3 面向对象与面向过程的差异 3 1.3.1 面向过程思想回顾 4 1.3.2 面向对象思想介绍 4 1.4 面向对象程序设计中的主要概念和特征 4 1.4.1 主要概念 5 1.4.2 主要特征 5 *1.5 Java与C++的差异 5 1.6本章小结5 习题 5 第2章 Java语言开发环境 6 2.1 JDK 6 2.1.1 JDK的简介6 2.1.2 JDK的构成6 2.1.3 JDK的使用6 2.2 IDE 8 2.2.1 IDE简介8 2.2.2 JBuilder 9 2.2.3 Eclipse 9 2.2.4 相关资源9 2.3 Project管理9 2.3.1 Project的含义9 2.3.2 可行的Project组织模式9 2.3.3 主要开发工具的Project目录10 2.4 本章小结10 习题10 第1章 Java语言概述与面向对象思想 1.1 Java语言的发展 1.1.1 Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java 技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作 上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。 该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。 随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling

java编写的简单局域网聊天室(适合初学者).

import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.Panel; import java.awt.Point; import java.awt.TextArea; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.io.File; import java.io.FileWriter; import java.io.IOException; import https://www.sodocs.net/doc/6811505824.html,.DatagramPacket; import https://www.sodocs.net/doc/6811505824.html,.DatagramSocket; import https://www.sodocs.net/doc/6811505824.html,.InetAddress; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class GUI_Chat extends Frame { private static final long serialVersionUID = 1L; private TextArea viewTextArea = new TextArea(20, 1; private TextArea sendTextArea = new TextArea(; private TextField ipTextField = new TextField(20; private Button sendButton = new Button(" 发送" ; private Button clearButton = new Button(" 清屏" ; private Button logButton = new Button(" 记录" ; private Button shakeButton = new Button(" 震动" ; private Panel panel = new Panel(; private DatagramSocket socket ;

java初学者48个小例子

【程序 1】 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println(" 第 1 个月的兔子对数: 1"); System.out.println(" 第 2 个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println(" 第" + i +" 个月的兔子对数: "+f2); } } } 【程序3】 题目:打印出所有的"水仙花数",所谓" 水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个" 水仙花数",因为153=1 的三次方+ 5 的三次方+ 3 的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) { b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) { System.out.println(m+" 是一个水仙花数"); } } } } 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90 分的同学用 A 表示,60-89分之间的用 B 表示,60分以下的用 C 表示。 import java.util.*; public class lianxi05 { public static void main(String[] args) { int x; char grade; Scanner s = new Scanner(System.in); System.out.print( " 请输入一个成绩: "); x = s.n ext In t(); grade = x >= 90 ? 'A

初学者java代码学习整理

JavaBean是一种可重复使用的、且跨平台的软件组件。 JavaBean可分为两种:一种是有用户界面的(有UI的);另一种是没有用户界面的(无UI的),无UI的JavaBean主要负责处理事务(如数据运算,操纵数据库)。 JSP通常访问的是后一种JavaBean。 使得HTML与Java程序分离,这样便于维护代码。 如果把所有的程序代码都写到JSP网页中,会使得代码繁杂,难以维护。 可以降低开发JSP网页人员对Java编程能力的要求。 JSP侧重于生成动态网页,事务处理由JavaBean来完成,这样可以充分利用JavaBean组件的可重用性特点,提高开发网站的效率。 MVC设计模式(Model View Controller)。 一个标准的JavaBean有以下几个特征: JavaBean是一个公共(public)的类。 JavaBean有一个不带参数的构造方法。

JavaBean通过setXXX方法设置属性,通过getXXX方法获取属性。 1.导入JavaBean类。 通过<%@ page import>指令导入JavaBean类, 例如: <%@ page import="mypack.MyJavaBean" %> 2.声明JavaBean对象。 标签用来声明JavaBean对象, 例如: 3.访问JavaBean属性。 JSP提供了访问JavaBean属性的标签,如果要将JavaBean的某个属性输出到网页上,可以用标签。 例如: 如果要给JavaBean的某个属性赋值,可以用标签,

全新java初学者实践教程1

全新java初学者实践教程1(Java SE5.0版)--配置环境变量 作者:100jq 最近我发现不少初学者,学习java的时候,看了好多java的历史、优点和应用范围。对于这些知识,并不难理解。我也当然同意java是一种优秀的计算机语言。但是对于我们来说要了解的并不是,这些历史等知识。而是掌握java这套技术。要想掌握这套技术实践是非常重要的。那么很多初学者,在第一步实践的时候就遇到了困难,就是配置环境变量。以至于,因无法继续实践而苦恼。下面为了帮广大爱好者解决这个问题,“百家拳软件项目研究室”特别写了这个教程来与大家共享。 环境变量这个概念,是我们平时用电脑时不常用的概念,所以大家在下载完jdk之后,不知如何配置环境变量。下面我解释一下,环境变量相对于给系统或用户应用程序设置的一些变量。应该怎么理解呢?我们来做一个实验吧! 实践:鼠标单击开始――>运行――> cmd,进入了DOS的窗口。我们在任意目录下敲QQ。会出现“ 'QQ' 不是内部或外部命令,也不是可运行的程序或批处理文件。”这段话 其实也是啊,在当前的目录根本就没有QQ这个文件啊。我的QQ程序安装在 D:\Tencent\QQ 下了。你们做的时候找到这个目录。在dos下进入这个目录,再敲QQ。就会发现弹出了QQ的登陆窗口。那么怎样能使,我们在任何目录下都可以敲QQ就可以执行呢。那就是设置环境变量了。 实践:我们现在桌面上,右键单击我的电脑――>属性――>选择“高级”选卡――>环境变量。现示的结果如图1-1 图 1-1 环境变量分为两类,一个是上半部分区域用户变量,另一个是下半部分系统变量。用户变量是只适用于当前用户使用,换了用户就不管用了。而系统变量则是任何用户都可以使用。呵呵,这样说可以理解吧。我们现在在用户变量里面按“新建”。在变量名里面输入path(不区分大小写)

Java编程五大经典实例(初学者版)

一、实验目的: 1、掌握 Java 基本数据类型、运算符与表达式、数组和字符串的使用方法。 2、掌握各种变量的声明方式。 3、理解 Java 程序语法结构,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 4、通过以上内容,掌握 Java 语言的编程规则。 5、了解Java程序文件名和类名的说明方法。 二、实验内容(或步骤)提要 1、输入一个学生的成绩,给出相应的等级(分别用if和switch语句实现)。 85分及以上为A级;70分及以上为B级; 60分及以上为C级;60分以下为D级。 【参考程序1】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); if(s<60) System.out.println("D"); else if(s<70) System.out.println("C"); else if(s<85) System.out.println("B"); else System.out.println("A"); } } 【参考程序2】 public class Score{ public static void main(String args[]){ int s=Integer.parseInt(args[0]); int x=s/10; switch (x) { case 0: case 1: case 2: case 3: case 4:

case 5: System.out.println("D");break; case 6: System.out.println("C");break; case 7: case 8: if (s <85) { System.out.println("B"); break; } case 9: case 10: System.out.println("A"); } } } 2、输入某人的应纳税所得额,计算个人所得税。税率表如下: 级数全月应纳税所得额税率%速算扣除法(元) 1不超过500元的50 2超过500元至2000元的部分10 25 3超过2000元至5000元的部分15 125 4超过5000元至20000元的部分20 375 5 超过20000元至40000元的部分251375 6 超过40000元至60000元的部分30 3375 7 超过60000元至80000元的部分356375 8 超过80000元至100000元的部分40 10375 9 超过100000元的部分45 15375 计算公式是:应纳个人所得税税额=应纳税所得额×适用税率-速算扣除数 例:王某当月应纳税所得额6400元。则应纳个人所得税税额=6400×20%-375=905元。【参考程序】 import java.util.Scanner; public class TaxCompute {

Java基础入门(第二版)

《Java基础入门(第二版)》试卷 得分 单选题(每题2分,共计30分) 1.阅读下列代码片段: public class Example{ public static void main(String[] args) { { int a = 1; System.out.print(a); } { int a = 2; System.out.print(a); } int a = 3; System.out.print(a); }} 下列选项中,哪一个是程序正确的运行结果() A、123 B、111 C、121 D、编译不通过 2.下列关于super关键字的说法中,正确的是() A、super关键字是在子类对象内部指代其父类对象的引用 B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C、子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D、子类通过super关键字只能调用父类的属性,而不能调用父类的方法3.请阅读下面的程序,程序的运行结果是()。 class Person { String name; int age; public Person() {} public Person(String n, int a) { 总分题型单选题多选题填空题简答题题分 得分

name = n; age = a; } public void show() { System.out.print(name + "---" + age +" "); } } public class Test { public static void main(String[] args) { Person p1 = new Person(); p1.show(); Person p2 = new Person("周星驰", 27); p2.show(); } } A、null---0周星驰---27 B、null---27周星驰---27 C、周星驰---0null---27 D、周星驰---27null---274.下列有关HashSet集合的描述中,错误的是() A、HashSet是Set接口的一个实现类 B、向HashSet存入对象时,对象一般会重写hashCode()和equals()方法 C、向HashSet存入对象时,对象的equals()方法一定会被执行 D、HashSet存储的元素是不可重复的 5.请阅读下面的程序 public class Test { public static void main(String[] args) { int a = { 2, 0, 4, 1, 8, 3, 5 }; int temp; for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (aj < aj - 1) { temp = aj; aj = aj - 1; aj - 1 = temp; } }

Java初学者编程练习锦集(1)

Java编程练习: 1.下面有一串字符串,处理后让其倒序输出。 原字符串:i am a student 输出:tneduts a ma i 代码如下: public class StringPractic { public static void main(String args[]){ String s = "i am a student"; for(int i=s.length()-1;i>=0;i--){ System.out.print(s.charAt(i)); } } } 输出结果入下: tneduts a ma i 2.下面的一串字符,请统计其中‘0’到‘9’的各个数字的个数。 原字符串:91254782354987012345978 输出:0:1 1:2 2:3 3:2 4:3 5:3 7:3 8:3 9:3 程序代码如下: public class Digit { public static void main(String args[]){ String s = "91254782354987012345978"; int a[] = new int[10]; for(int i=0;i

java初学者练习

1. float型float f=3.4是否正确? 答:不正确,应为float f=3.4f 2. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是引用传递。 3. 在java中一个类被声明为final类型,表示了什么意思? 答:表示该类不能被继承,意味着它不能再派生出新的子类,不能作为父类被继承,是顶级类。 4. Error与Exception有什么区别? 答:Error(错误)表示系统级的错误和程序不必处理的异常,是java运行环境中的内部错误或者硬件问题,比如,内存资源不足等,对于这种错误,程序基本无能为力,除了退出运行外别无选择。 Exception(违例)表示需要捕捉或者需要程序进行处理的异常,它处理的是因为程序设计的瑕疵而引起的问题或者在外的输入等引起的一般性问题,是程序必须处理的。 5. 谈谈final, finally的区别。 答:final是修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract,又被声明为final。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。 Finally是在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入 finally 块(如果有的话),只要有finally语句块,无论程序如何运行,它都必然被执行到。 6. String s = new String("xyz");创建了几个String Object? 答:创建了两个,一个字符对象,一个引用对象 7. short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 答:两个错误都是一样的,后者只是加法的写法不一样,两个错误都是因为s1是short型而1是整型相加后数据类型就变为整型了,与s1定义为short型有矛盾,必须进行强制类型转换才正确。 8. 数组有没有length()这个方法? String有没有length()这个方法? 答:数组没有,String有。 9. Overload和Override的区别 答:方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded 的方法可以改变返回值的类型。 10. abstract class和interface有什么区别?

初级javaee基础实用教程

初级javaee基础实用教程 Java初学者学习Java,首先要入门,要喜欢Java才能学好Java,Java学习初期通常会遇到很多问题,下面请千锋Java老师为大家讲解下吧。 问题一:能看懂,不会写 这或许是很多初学者会遇到的问题。就是看视频或者听课的时候,能看懂,但是就是不会写。这个时候我们或许需要换一个适合自己的学习方法。课前预习课后复习,经常练习,不断的敲代码,这样可以加深你对代码的印象。 问题二:学完就忘记 我们如果克服了第一问题,就会立马迎来第二个问题,比如我们的HTML标签和一些css属性,用浮动去实现一个效果,几天之后发现,这个我怎么不会用了,就在脑海中,怎么都想不起来。如何解决这个问题呢?我们学习每一个知识点,必须跟三个案例以上,只有应用到实处,实际操作中,才能更好的记忆,在你学习之后的知识点,要不断的温习前面的东西,不然一定会忘记。 问题三:是否应该看书学 见过很多新手说,买一本从入门到精通的Java书,如果你觉得看一本书就可以学好Java找工作,那这个工作好像谁都可以做,新手在初学Java时建

议别看书,等你学完一遍Java之后,在去看书籍,这样可能效果会非常的好,对于你前面学习的一些没有太懂的东西,进行了查缺补漏。 问题四:学了担心找不到工作 很多人学习Java基本上为了找工作,大多数人都担心一个严重的事情就是如何找找工作。而千锋教育的Java培训每年有至少12场双选会,只要你有实力,相信你高薪就业不是问题! 问题五:是否去培训 如果你的自制力和学习能力比较强的话,可以选择自学。但如果你这些都不具备又想赶快就业的,那么建议你选择一家靠谱能学到真本事的java实训机构。 相信以上的五个问题是所有初学者学习Java最重要的几个问题,如果你想要学习Java,你可以对智递科技进行了解,它并非只是一家实训机构,而是依托公司自身软件开发平台来培养符合企业用人需求的软件开发人员,您可以在线咨询客服,也可以进行实地参观,与智递科技的专业人士及实训导师面对面交流,亲身体验智递科技JAVA实训的实力及独特优势。

java基础经典46题(新手必看)

以下题目只供参考 1:题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 2:题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) { b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) { System.out.println(m+"是一个水仙花数"); } } } }

新手如何学习java(java学习建议路线图)

怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。J2ME,The Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2EE,Java 2 Platform,Enterprise Edition,就是所谓的企业级Java,适合企业的大型应用开发。 J2SE: 新手最初学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java API等(关键是要学会怎样查阅)。 重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等 难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等 视频教程推荐:孙鑫的Java基础视频教程、张孝祥的Java基础视频教程,讲的都很细,而且这两位老师在教学方面都有很好的经验。 J2EE: 在学习了J2SE之后,你可以尝试着慢慢过渡到J2EE,当然,学习J2EE海需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等等,待会我会详细介绍这两方面的内容。J2EE有三个必学的框架,如果你说你学了J2EE,但又不会这三个框架的话,那会让人笑掉大牙,这三个框架分别是Struts、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE,J2EE还有很多其他的东西,比如EJB,作为一款重量级(此重量级不是指重量级选手那个意思,此重量级非彼重量级)框架,虽然这个应用慢慢的再被其他框架所取代,但EJB3.0的出现也给它带回一些生机,作为一个分布式应用的框架,也是大家要去学习和了解的知识。 当然,刚才说到J2EE包含的范围很广,即使我把我所了解的所有技术说出来,也并不能代表J2EE,这是一个很深很广的学问,需要大家以后再工作的时候慢慢去发现了。我所了解的还包括: JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已JNDI: Java 命名与目录接口,J2EE重要规范之一 EJBS: 上面已经提到过了 RMI: 提供远程调用方法的支持,主要用于程序分布式开发 JMS: Java消息服务,中间件技术 JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术

java初学者48个小例子

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) { b3 = m / 100; b2 = m % 100 / 10; b1 = m % 10; if((b3*b3*b3 + b2*b2*b2 + b1*b1*b1) == m) { System.out.println(m+"是一个水仙花数"); } } } } 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 import java.util.*; public class lianxi05 { public static void main(String[] args) { int x; char grade; Scanner s = new Scanner(System.in); System.out.print( "请输入一个成绩: ");

java初学者案例用户登录注册

1 用户登录注册案例分析 需求:用户登录注册案例。 按照如下的操作,可以让我们更符号面向对象思想 A:有哪些类呢? B:每个类有哪些东西呢? C:类与类之间的关系是什么呢? 分析: A:有哪些类呢? 用户类 测试类 B:每个类有哪些东西呢? 用户类: 成员变量:用户名,密码 构造方法:无参构造 成员方法:getXxx()/setXxx() 登录,注册 假如用户类的内容比较对,将来维护起来就比较麻烦,为了更清晰的分类,我们就把用户又划分成了两类 用户基本描述类 成员变量:用户名,密码 构造方法:无参构造 成员方法:getXxx()/setXxx() 用户操作类 登录,注册 测试类: main方法。 C:类与类之间的关系是什么呢? 在测试类中创建用户操作类和用户基本描述类的对象,并使用其功能。 分包:

A:功能划分 B:模块划分 C:先按模块划分,再按功能划分 今天我们选择按照功能划分: 用户基本描述类包 cn.itcast.pojo 用户操作接口 cn.itcast.dao 用户操作类包 cn.itcast.dao.impl 今天是集合实现,过几天是IO实现,再过几天是GUI实现,就业班我们就是数据库实现 用户测试类 cn.itcast.test 2 集合的toString方法 代码: Collection c = new ArrayList(); c.add("hello"); c.add("world"); c.add("java"); System.out.println(c); 为什么c输出的不是地址值呢? A:Collection c = new ArrayList(); 这是多态,所以输出c的toString()方法,其实是输出ArrayList的toString() B:看ArrayList的toString() 而我们在ArrayList里面却没有发现toString()。 以后遇到这种情况,也不要担心,你认为有,它却没有,就应该去它父亲里面看看。 C:toString()的方法源码 public String toString() { Iterator it = iterator(); //集合本身调用迭代器方法,得到集合迭代器 if (! it.hasNext()) return "[]"; StringBuilder sb = new StringBuilder();

一位资深程序员大牛给予Java初学者的学习路线建议

一位资深程序员大牛给予Java初学者的学习路线建议 最近收到不少这样的问题,“你是如何学习Java的,能不能给点建议?”今天咱们不谈学习方法和技巧,直接上干货,谈每个阶段要学习的内容和一些书籍。 由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照搬。 如果你是在校学生,务必要在学好基础(比如计算机系统、算法、编译原理等等)的前提下,再考虑去进行下面的学习。 一、学习Java基础的时候,应该尽量多动手,很多时候,你想当然的事情,等你写出来运行一下,你就会发现不是这么回事儿,不信你就试试。学完以上内容以后,你应该对Java有一个基本的了解了。 二、Web开发等你写上几天程序以后,这个时候你就应该去学着写一些让你觉得有意思的东西了。这些内容主要是Web开发相关的内容,包括HTML/CSS/JS(前端页面)、Servlet/JSP(J2EE)以及Mysql(数据库)相关的知识。

接下来,你需要学习的是Servlet/JSP(J2EE)部分,这部分是Java后端开发必须非常精通的部分,因此这部分是这三部分中最需要花精力的,而且这个时候,你要学会使用开发工具,而不能再使用记事本了,可以选择eclipse。当你下载安装好eclipse以后,请视频中的教程一步一步去学习,一定要多动手。 最后一步,你需要学会使用数据库,mysql是个不错的入门选择,而且Java 领域里主流的关系型数据库就是mysql。这部分一般在你学习Servlet/Jsp的时候,就会接触到的,其中的JDBC部分就是数据库相关的部分。你不仅要学会使用JDBC操作数据库,还要学会使用数据库客户端工具,比如navicat,sqlyog,二选一即可。 三、开发框架当你学会以上内容以后,这个时候你还不足以参加工作,你还需要继续深造。公司里为了提高开发的效率,会使用一些Java Web框架,因此你还需要学习一些开发框架。目前比较主流的是SSM框架,即spring、springmvc、mybatis。你需要学会这三个框架的搭建,并用它们做出一个简单的增删改查的Web项目。你可以不理解那些配置都是什么含义,以及为什么要这么做,这些留着后面你去了解。 但你一定要可以快速的利用它们三个搭建出一个Web框架,你可以记录下你第一次搭建的过程,相信我,你一定会用到的。还要提一句的是,你在搭建SSM的过程中,可能会经常接触到一个叫maven的工具。这个工具也是你以后

相关主题