您的位置:

java实践,java实践报告

本文目录一览:

《Java线程与并发编程实践》pdf下载在线阅读全文,求百度网盘云资源

《Java线程与并发编程实践》百度网盘pdf最新全集下载:

链接:

?pwd=amsm 提取码: amsm

简介:《Java线程与并发编程实践》是针对Java 8中的线程特性和并发工具的快速学习和实践指南。Java线程和并发工具是应用开发中的重要部分,备受开发者的重视,也有一定的学习难度。适合有一定基础的Java程序员阅读学习.

 

计算机自考java 实践课

2,求50以内的质数问题。

public class Demo2

{

public static void main(String[]args)

{

int i,j;

for(i=2;i=50;i++)

{

for(j=2;j=i/2;j++)

if(j%i==0)break;

if(ji/2)

System.out.println(i+"是质数");

}

}

}

3,排*问题[注意别把for后面加了;号]。

import javax.swing.*;

public class Demo15

{

public static void main(String[]args)

{

int n,j,k,space;

String result=(String)JOptionPane.showInputDialog(null,"请输入一个整数","输入对话框",JOptionPane.PLAIN_MESSAGE,null,null,null);

n=Integer.parseInt(result);

space=40;

for(j=0;j=n;j++,space-=2)

{

for(int i=0;ispace;i++)

System.out.print(" ");

for(k=1;k=2*j+1;k++)

System.out.print(" *");

System.out.print("\n");

}

space+=4;

for(j=n-1;j=0;j--,space+=2)

{

for(int i=0;ispace;i++)

System.out.print(" ");

for(k=1;k=2*j+1;k++)

System.out.print(" *");

System.out.print("\n");

}

}

}

5,红绿按钮题:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Demo

{

public static void main(String[]args)

{

ButtonDemo myButtonGUI=new ButtonDemo();

myButtonGUI.setVisible(true);

}

}

class ButtonDemo extends JFrame implements ActionListener

{

public static final int Width=200;

public static final int Height=250;

ButtonDemo()

{

setSize(Width,Height);

setTitle("按钮事件样例");

Container conPane=getContentPane();

conPane.setBackground(Color.YELLOW);

conPane.setLayout(new FlowLayout());

JButton redBut=new JButton("Red");

redBut.addActionListener(this);

conPane.add(redBut);

JButton greenBut=new JButton("Green");

greenBut.addActionListener(this);

conPane.add(greenBut);

}

public void acionPerformed(ActionEvent e)

{

Container conPane=getContentPane();

if(e.getActionCommand().equals("Red"))

conPane.setBackground(Color.RED);

else if(e.getActionCommand().equals("Green"))

conPane.setBackground(Color.GREEN);

else {}

}

}

7,按钮激活文本,显示文本[注意方法是小写,类是大写,所有字母都不能错]

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class Demo7 extends Applet implements KeyListener

{

//setSize(400,500);

int count=0;

Button button=new Button();

TextArea text=new TextArea(5,20);

public void init()

{

button.addKeyListener(this);

add(button);

add(text);

}

public void keyPressed(KeyEvent e)

{

int t=e.getKeyCode();

if(t=KeyEvent.VK_At=KeyEvent.VK_Z)

{

text.append((char)t+" "); count++;

if(count%10==0) text.append("\n");

}

}

public void keyTyped(KeyEvent e){}

public void keyReleased(KeyEvent e){}

}

8,单击按钮显示单击的次数,

import javax.swing.*;

import java.awt.event.*;

import java.applet.*;

public class Demo8 extends Applet implements ActionListener

{

int n=0;

JButton button=new JButton("单击按钮可以显示点击的次数");

public void init()

{

setSize(800,600);

button.addActionListener(this);

button.setSize(34,3);

add(button);

}

public void actionPerformed(ActionEvent e)

{

n++;

button.setText(n+" ");

}

}

9,画五角星。

import java.awt.*;

import javax.swing.*;

class MyPanel extends JPanel

{

public void paintComponent(Graphics g)

{

int r=100;

int x1=100;

int x2=(int)(r*(1-Math.cos((18*Math.PI)/180)));

int x3=(int)(r*(1+Math.cos((18*Math.PI)/180)));

int x4=(int)(r*(1-Math.cos((54*Math.PI)/180)));

int x5=(int)(r*(1+Math.cos((54*Math.PI)/180)));

int y1=0;

int y2=(int)(r*(1-Math.sin((18*Math.PI)/180)));

int y3=(int)(r*(1-Math.sin((18*Math.PI)/180)));

int y4=(int)(r*(1+Math.sin((54*Math.PI)/180)));

int y5=(int)(r*(1+Math.sin((54*Math.PI)/180)));

g.setColor(Color.RED);

g.drawOval(0,0,200,200);

g.drawLine(x1,y1,x4,y4);

g.drawLine(x1,y1,x5,y5);

g.drawLine(x2,y2,x3,y3);

g.drawLine(x2,y2,x5,y5);

g.drawLine(x3,y3,x4,y4);

}

}

public class Demo9 extends JFrame

{

Demo9()

{

super("Demo9");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

getContentPane().add(new MyPanel());

setSize(800,600);

setVisible(true);

}

public static void main(String[]args)

{

new Demo9();

}

}

玉溪java培训学校告诉你新手学Java开发的方法?

当下很多零基础的朋友在苦恼学Java的方式,有人说看入门视频学Java好,有人说看书+入门视频好,还有的人说参加Java培训最好,那么到底哪种学Java的方式最好呢?有人提出,我是零基础,但我想看书学Java可以吗?今天就跟玉溪电脑培训一起来讨论吧。

零基础看书学Java可以吗?

1.Java的学习,首先得从理论方面展开,书中最不缺的就是Java理论知识,刚开始看Java书,一般是从Java语法开始,从书中还是可以学到变量怎么定义,流程控制语句怎么写,怎么编写函数,怎么处理表单元素,处理字符串,连接数据库等等,书的存在是有价值的。

2.Java的学习不能只停留在理论方面,Java的学习必须是理论+实践相结合,并且所学理论全部得化为实践,所以在书中你看到的有关Java代码的练习,那么你一定得跟着模仿,先看操作,理解原理,跟着敲代码。看书学Java,不好的地方就在于难以把握如何把理论变为实践。

3.你在看书学Java的时候,觉得自己掌握了不少关于Java的知识,但是离开书,让你独立进行一段Java代码的操作,你能吗?很多零基础看书学Java,不是没有什么收获,而是感觉自己收获的效率很慢,自己也不知道自己的Java学到什么样的水平了,总觉得自己的Java实践没能跟Java理论结合在一起。

北大青鸟java培训:异常处理的Java最佳方法?

异常处理是Java开发中的一个重要部分。

它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等。

Java提供了几个异常处理特性,以try,catch和finally关键字的形式内建于语言自身之中。

Java编程语言也允许你创建新的异常,并通过使用throw和throws关键字抛出它们。

事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码。

这里北大青鸟将讨论一些关于异常处理的Java最佳实践。

1、为可恢复的错误使用检查型异常,为编程错误使用非检查型错误。

选择检查型还是非检查型异常,对于Java编程人员来说,总是让人感到困惑。

检查型异常保证你对错误条件提供异常处理代码,这是一种从语言到强制你编写健壮的代码的一种方式,但同时会引入大量杂乱的代码并导致其不可读。

当然,如果你有替代品和恢复策略的话,捕捉异常并做些什么看起来似乎也在理。

在Java编程中选择检查型异常还是运行时异常。

2、在finally程序块中关闭或者释放资源这在Java编程中,是一个广为人知的最佳实践,在处理网络和IO类的时候,相当于一个标准。

在finally块中关闭资源,在正常和异常执行的情况下,保证之前和稀缺资源的合理释放,这由finally块保证。

从Java7开始,该语言有了一项更有趣的功能:资源管理自动化或者ARM块能实现这一功能。

尽管如此,我们仍然要记住在finally块中关闭资源,这是对于释放像FileDescriptors这类,应用在socket和文件编程的情况下的有限资源很重要的。

3、在堆栈跟踪中包含引起异常的原因很多时候,当一个由另一个异常导致的异常被抛出的时候,Java库和开放源代码会将一种异常包装成另一种异常。

日志记录和打印根异常就变得非常重要。

Java异常类提供了getCause方法来检索导致异常的原因,这些(原因)可以对异常的根层次的原因提供更多的信息。

该Java实践对在进行调试或排除故障大有帮助。

时刻记住,如果你将一个异常包装成另一种异常时,构造一个新异常要传递源异常。

4、始终提供关于异常的有意义的完整的信息异常信息是最重要的地方,因为这是程序员首先看到的第一个地方,这里你能找到问题产生的根本原因。

这里始终提供精确的真实的信息。

5、避免过度使用检查型异常检查型异常在强制执行方面有一定的优势,但同时它也破坏了代码,通过掩盖业务逻辑使代码可读性降低。

只要你不过度使用检查型异常,你可以最大限度的减少这类情况,这样做的结果是你会得到更清洁的代码。

你同样可以使用Java7的新功能,以移除重复项。

6、将检查型异常转为运行时异常这是在像Spring之类的多数框架中用来限制使用检查型异常的技术之一,大部分出自于JDBC的检查型异常,都被包装进DataAccessException中,而(DataAccessException)异常是一种非检查型异常。

这是Java最佳实践带来的好处,特定的异常限制到特定的模块,像SQLException放到DAO层,将意思明确的运行时异常抛到客户层。

7、记住对性能而言,异常代价高昂需要记住的一件事是异常代价高昂,同时让你的代码运行缓慢。

假如你有方法从ResultSet(结果集)中进行读取,这时常会抛出SQLException异常而不会移到下一元素,这将会比不抛出异常的正常代码执行的慢的多。

因此最大限度的减少不必要的异常捕捉和移动,那里没有什么固定的原因。

不要仅仅是抛出和捕捉异常,如果你能使用boolean变量去表示执行结果,可能会得到更整洁,更高性能的解决方案。

修正错误的根源,避免不必须要的异常捕捉。