网站建设资讯

NEWS

网站建设资讯

java代码深度影响 java代码臃肿

java如何实现 深度优先 广度优先

下面是我修改了滴源码,是基于一张简单的地图,在地图上搜索目的节点,依次用深度优先、广度优先、Dijkstra算法实现。

创新互联公司-专业网站定制、快速模板网站建设、高性价比黄梅网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式黄梅网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖黄梅地区。费用合理售后完善,10年实体公司更值得信赖。

import java.util.ArrayList;

import java.util.HashMap;

import java.util.LinkedList;

import java.util.PriorityQueue;

import java.util.Stack;

/**

*

* @author yinzhuo

*

*/

public class Arithmatic {

boolean flag = true;

// 一张地图

static int[][] map = new int[][]// 地图数组

{

{ 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 },

{ 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0 },

{ 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0 },

{ 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 },

{ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };

对于java语言来说,大量注释会影响执行效率么

Java代码注释写的多,会影响到编译效率,但是不会影响到执行效率。

Java代码是先编译成字节码,然后被JVM解释执行的。

我做了个实验

TimeDemo 类

import java.util.ArrayList;

public class TimeDemo {

public static void main(String[] args) {

long start = System.currentTimeMillis();

ArrayListInteger list = new ArrayListInteger();

for (int i = 0; i 1000000; i++) {

list.add(i);

}

long end = System.currentTimeMillis();

System.out.println("本次执行耗费了"+(end-start)+"毫秒");

}

}

TimeDemo2

import java.util.ArrayList;

public class TimeDemo2 {

public static void main(String[] args) {

long start = System.currentTimeMillis();

ArrayListInteger list = new ArrayListInteger();

for (int i = 0; i 1000000; i++) {

list.add(i);

}

//用java.io生成了很多行的注释,

//注释

//注释

//注释

//注释

//注释

long end = System.currentTimeMillis();

System.out.println("本次执行耗费了"+(end-start)+"毫秒");

}

}

运行结果

当注释行数是1~1万行的时候. 能较快的编译

当注释行数达到1百万的时候,编译稍微慢一点

当注释行数达到1千万行的时候, CPU占用100%,卡了进1分钟也没有编译完成,只好强行关闭

结论:

简单明了的注释有助于程序猿对代码的读写

只有当注释行数极大的时候,才会严重的影响编译速度。 但不会影响执行速度

做java软件工程师,怎样才能写出好的代码?

Java代码之于java程序员而言就是左膀右臂,java代码写的好的java程序员明显更是企业的欢迎,一个优秀的java程序员的考核标准之一也是看他的编程水平。

其实有的java程序员java代码会受到大家的追捧,是因为他在写代码时注意的细节往往多于那些不怎么关注java代码编程细节的程序员,俗话说:“细节决定成败”,那么如何写出好的java代码呢?IT培训介绍一起来讨论下:

1.重视注释

有的java程序员在写代码时,从来没有想过要在java代码后加上相关的注释,甚至是上万行的代码也没有想过加上注释,这就存在很大的问题,不说你的代码会跟其他人分享讨论,就你自己回顾你是怎么写好这篇代码的,你也是半天无法理出头绪,这就为维护和修改等等工作添加了很大的麻烦。所以,要想写出好的java代码,一定从简短的java代码编写开始注重在java代码后面加上相应的注释,养成良好的习惯。

2.重视排版整洁

看很多java程序员的排版总觉得在欣赏一幅艺术品,但是看到一些java程序员的排版却总觉得无力吐槽。同样是编写代码,但是给人的视觉体验是相当的不同,当然好的java代码给人的享受也是美的,所以要想写出好的代码,一定要重视排版整洁。

3.注重命名规则

现在在一个团队开发中,都会提前定制一个统一的命名规则,这样利于提高工作效益。但是很多java程序员是缺乏这个意识的,每次敲代码,更喜欢按照自己惯常的方式老命名模块、函数,这样是方便了自己,但是忽视团队协作,所以在日常工作中,特别是团队工作中一定要重视命名规则。

4.养成备份习惯

备份的重要性不用小编强调,相必你也知道。但是有的java程序员就是没有养成这样的好习惯,每次敲完代码就不记得随手保存,每次等到除了事故,比如电脑出了故障,辛辛苦苦敲打的java代码没保存找不回来的情况下就开始懊恼,与其这样还不如在一开始就养成良好的备份习惯,这样也方便自己日后查找利用。

java深度编程

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import java.util.Calendar;

import javax.swing.BoxLayout;

import javax.swing.ButtonGroup;

import javax.swing.JCheckBox;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JList;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JRadioButton;

import javax.swing.JTextField;

public class TestWindow {

/**

* @param args

*/

public static void main(String[] args) {

/*

* 定义窗体,标题

*/

JFrame frame=new JFrame("java");

/*

* 定义菜单

*/

JMenuBar menuBar = new JMenuBar();

JMenu menuFile = new JMenu("文件(F)");

menuFile.setMnemonic(KeyEvent.VK_F);

menuBar.add(menuFile);

JMenuItem exitMenu=new JMenuItem("退出");

menuFile.add(exitMenu);

frame.setJMenuBar(menuBar);

/*

*菜单事件

*/

exitMenu.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) {

System.exit(1);

}

});

/*

* 标题栏的叉的退出事件

*/

frame.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e) {

System.exit(1);

}

});

/*

* 布局,采用简单的Box+Flow的布局,可以采用Grid或者更复杂的GridBagLayout

*/

JPanel panelMain=new JPanel();

panelMain.setLayout(new BoxLayout(panelMain, BoxLayout.Y_AXIS));

frame.getContentPane().add(panelMain,BorderLayout.CENTER);

//添加组件

JPanel line1Panel=new JPanel();

JPanel line2Panel=new JPanel();

JPanel line3Panel=new JPanel();

JPanel line4Panel=new JPanel();

line1Panel.setLayout(new FlowLayout(FlowLayout.LEFT));

line2Panel.setLayout(new FlowLayout(FlowLayout.LEFT));

line3Panel.setLayout(new FlowLayout(FlowLayout.LEFT));

line4Panel.setLayout(new FlowLayout(FlowLayout.LEFT));

panelMain.add(line1Panel);

panelMain.add(line2Panel);

panelMain.add(line3Panel);

panelMain.add(line4Panel);

line1Panel.add(new JLabel("姓名:"));

JTextField txtName=new JTextField();

txtName.setColumns(10);

line1Panel.add(txtName);

line1Panel.add(new JLabel("密码:"));

JPasswordField txtPass=new JPasswordField();

txtPass.setColumns(10);

line1Panel.add(txtPass);

line2Panel.add(new JLabel("性别:"));

JRadioButton radioM=new JRadioButton("男");

JRadioButton radioF=new JRadioButton("女");

line2Panel.add(radioM);

line2Panel.add(radioF);

ButtonGroup group = new ButtonGroup();

group.add(radioM);

group.add(radioF);

Object[] years=new Object[50];

java.util.Calendar cal= Calendar.getInstance();

int year=cal.get(Calendar.YEAR);

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

years[i]=new Integer(year-i);

Object[] months=new Object[12];

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

months[i]=new Integer(i+1);

JComboBox yearList=new JComboBox(years);

JComboBox monthList=new JComboBox(months);

line3Panel.add(new JLabel("出生年月:"));

line3Panel.add(yearList);

line3Panel.add(new JLabel("年"));

line3Panel.add(monthList);

line3Panel.add(new JLabel("月"));

JCheckBox chkRead=new JCheckBox("读书");

JCheckBox chkMovies=new JCheckBox("电影");

line4Panel.add(new JLabel("爱好:"));

line4Panel.add(chkRead);

line4Panel.add(chkMovies);

frame.pack();

frame.setVisible(true);

}

}


网站栏目:java代码深度影响 java代码臃肿
当前地址:http://njwzjz.com/article/doihipc.html