正文
java把代码简化 java代码大全及详解
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
java10编程语言都有哪些新特点?
前一段时间我们曾经给大家简单介绍了关于java10的特性以及发布日期等事情。今天,我们一起来正式了解一下java10编程开发语言的新特性都有哪些,以及针对这些特性的使用方法。
Java10新特性
这次发布的Java10,新带来的特性并不多。
根据官网公开资料,共有12个JEP(JDKEnhancementProposal特性加强提议),带来以下加强功能:
JEP286,var局部变量类型推断。
JEP296,将原来用Mercurial管理的众多JDK仓库代码,合并到一个仓库中,简化开发和管理过程。
JEP304,统一的垃圾回收接口。
JEP307,G1垃圾回收器的并行完整垃圾回收,实现并行性来改善坏情况下的延迟。
JEP310,应用程序类数据(AppCDS)共享,通过跨进程共享通用类元数据来减少内存占用空间,和减少启动时间。
JEP312,ThreadLocal握手交互。在不进入到全局JVM安全点(Safepoint)的情况下,对线程执行回调。优化可以只停止单个线程,而不是停全部线程或一个都不停。
JEP313,移除JDK中附带的javah工具。可以使用javac-h代替。
JEP314,使用附加的Unicode语言标记扩展。
JEP317,能将堆内存占用分配给用户指定的备用内存设备。
JEP317,使用Graal基于Java的编译器,可以预先把Java代码编译成本地代码来提升效能。
JEP318,在OpenJDK中提供一组默认的根证书颁发机构证书。开源目前Oracle提供的的JavaSE的根证书,这样OpenJDK对开发人员使用起来更方便。
JEP322,基于时间定义的发布版本,即上述提到的发布周期。版本号为\$FEATURE.\$INTERIM.\$UPDATE.\$PATCH,分别是大版本,中间版本,升级包和补丁版本。
部分特性说明
1.var类型推断。
这个语言功能在其他一些语言(C#、JavaScript)和基于JRE的一些语言(Scala和Kotlin)中,早已被加入。
在Java语言很早就在考虑,北大青鸟霍营计算机学院发现早在2016年正式提交了JEP286提议。后来举行了一次公开的开发工程师调查,获得多建议的是采用类似Scala的方案,“同时使用val和var”,约占一半;二多的是“只使用var”,约占四分之一。后来Oracle公司经过慎重考虑,采用了只使用var关键字的方案。
java中如何简化这段代码?我刚学java别见笑啊
public class admin {
String name;
int i = 1;
int mima;
Scanner in = new Scanner(System.in);
public void show() {
for (int i = 2; i = 0; i--) {
System.out.print("请输入用户名:");
name = in.next();
System.out.print("请输入密码:");
mima = in.nextInt();
if (name.equals("admin1") mima == 111111) {
System.out.print("\n请输入新密码:");
mima = in.nextInt();
System.out.println("修改密码成功,您的新密码为:" + mima);
break;
} else {
if (i != 0) {
System.out.println("用户名和密码不匹配!请重新输入(您还有)" + i + "次机会");
break;
} else {
System.out.println("用户名和密码不匹配!您没有权限更新用户信息。");
break;
}
}
}
}
}
代码简化 C++ java
这段代码里的String格式是相似的,很明显可以提取。另外,还有对应一个关系——int到int[],它和后面的格式无关,也可以提取出来:
int[][] map = { // 也可以用MapInteger, int[],但没必要(key为整型,连续,且较小)
{},
{2},
{5},
{2, 3},
{2, 5},
{5, 6},
{2, 3, 4},
{2, 3, 5},
{2, 5, 6},
{5, 6, 7},
{2, 3, 4, 5},
{2, 3, 5, 6},
{2, 5, 6, 7},
{2, 3, 4, 5, 6},
{2, 3, 5, 6, 7},
{2, 3, 4, 5, 6, 7}
};
String[] key_ = new String[map.length];
for(int i=0; imap.length; i++) {
StringBuffer str = new StringBuffer();
for(int j=0; jmap[i].length; j++) {
str.append(map[i][j]);
str.append(j == map[i].length-1 ? "|" : " ");
}
for(int j=0; jmap[i].length; j++) {
str.append(array[map[i][j]]);
str.append(j == map[i].length-1 ? "" : " ");
}
key_[i] = str.toString();
}
这样,如果对应关系改变,只需修改上面的map(也可以让其他代码生成),如果要改格式只需修改下面的代码
测试:
import java.util.*;
public class Simple
{
public static void main(String[] args)
{
int[] array = new int[16];
for(int i=0; iarray.length; i++)
array[i] = i*10+1;
int[][] map = {
{},
{2},
{5},
{2, 3},
{2, 5},
{5, 6},
{2, 3, 4},
{2, 3, 5},
{2, 5, 6},
{5, 6, 7},
{2, 3, 4, 5},
{2, 3, 5, 6},
{2, 5, 6, 7},
{2, 3, 4, 5, 6},
{2, 3, 5, 6, 7},
{2, 3, 4, 5, 6, 7}
};
String[] key_ = new String[map.length];
for(int i=0; imap.length; i++) {
StringBuffer str = new StringBuffer();
for(int j=0; jmap[i].length; j++) {
str.append(map[i][j]);
str.append(j == map[i].length-1 ? "|" : " ");
}
for(int j=0; jmap[i].length; j++) {
str.append(array[map[i][j]]);
str.append(j == map[i].length-1 ? "" : " ");
}
key_[i] = str.toString();
}
for(int i=0; imap.length; i++) {
System.out.println(key_[i]);
}
}
}
Java学习中代码优化的方法有哪些?
每个人都说代码是程序员手中的一把雕刻刀,是对他们产品轮廓和细节的打磨。每个程序员在代码优化方面需要做的是,即使是每天处理代码的程序员也有很多关于他们编写代码的问题,所以优化很重要。下面回龙观回龙观IT培训为大家介绍代码优化的方法。
1、尽量重用目标
特别是,使用代表字符串收敛的String目标应该使用StringBuilder/StringBuffer。因为Java虚拟机不仅要花时间生成目标,而且可能还需要花时间检索和删除这些目标,所以回龙观计算机学院发现生成太多目标会对程序的功能产生重大影响。
2、可以运用局部变量
调用方法时传递的参数和调用中创建的临时变量保存在堆栈中的速度更快。其他变量,如静态变量、实例变量等等,在堆中创建,速度较慢。此外,回龙观北大青鸟发现在堆栈中创建的变量,方法的操作结束,当这些内容都消失了,就不需要额定废物回收。
3、及时封闭流
Java的程序编写过程中,数据库连接,I/O流操作必须谨慎,应用结束后,应该及时关闭发布资源。因为回龙观java培训发现这些大目标的运行会造成大系统支出,稍有不慎就会导致严重的结果。
求一个简洁java计算器代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*; //引入所需要的包
class MyFrame extends JFrame implements ActionListener{
private JButton b1,b2,b3,b4,b5,b6;
private TextField t1,t2,t3; //定义六个按钮和三个文本域
public MyFrame(String s){
super(s);
b1=new JButton("加");
b2=new JButton("减");
b3=new JButton("乘");
b4=new JButton("除");
//对按钮加文字标签
Panel p=new Panel(); //生成一个面板
p.setLayout(new FlowLayout()); //以FlowLayout来规划面板中的组件
t1=new TextField ("",4);
t2=new TextField("",4);
t3=new TextField("",4); //生成文本域并设置长度
p.add(new JLabel("Num1"));p.add(t1);
p.add(new JLabel("Num2"));p.add(t2);
p.add(new JLabel("Res"));p.add(t3);//顺次在面板中加入按钮和文本域
t3.setEditable(false); //设置t3不可编辑
Panel button=new Panel();
button.setLayout(new GridLayout(2,2));//以两行2列来布局button面板中的各组件
button.add(b1);button.add(b2);button.add(b3);
button.add(b4);
getContentPane().add(button,BorderLayout.SOUTH);
getContentPane().add(p,BorderLayout.NORTH);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
b4.addActionListener(this);
//注册事件监听器
}
public void actionPerformed(ActionEvent e){ //实现接口方法
double number1=Double.parseDouble(t1.getText());
double number2=Double.parseDouble(t2.getText());//得到文本域中的数字字符串调用parseDouble()函数转化为数值型数字
if(e.getSource()==b1)
{
double result=number1+number2;
t3.setText(String.valueOf(result));//实现+
}
if(e.getSource()==b2)
{
double result=number1-number2;
t3.setText(String.valueOf(result));//实现-
}
if(e.getSource()==b3)
{
double result=number1*number2; //实现*
t3.setText(String.valueOf(result));
}
if(e.getSource()==b4) //实现/
{
double result=number1/number2;
t3.setText(String.valueOf(result));
}
}
}
public class Calculator{
public static void main(String[] args){
MyFrame frm=new MyFrame("Welcome to my calculator"); //设置标题
frm.setSize(320,240); //设置大小
frm. setVisible(true);//可见
}
}
楼主凑合用
java.awt:帮我用对象数组的思想把这个图形化界面代码简化一下吧
public class RegFrame extends JFrame {
JTextField jtf1, jtf2, jtf3, jtf4;
String[] ss = {"用户名 ","密 码 ","确认密码","电子邮件","注册","清空"};
public RegFrame() {
JTextField[] jtfs = { jtf1, jtf2, jtf3, jtf4 };
for (int i = 0; i jtfs.length; i++) {
JPanel jptemp = new JPanel(new FlowLayout());
JLabel jl = new JLabel(ss[i]);
jptemp.add(jl);
jtfs[i] = new JTextField(12);
jptemp.add(jtfs[i]);
add(jptemp);
}
JPanel jp5 = new JPanel();
jp5.add(new JButton("注册"));
jp5.add(new JButton("清空"));
add(jp5);
setLayout(new GridLayout(5, 1, 0, 15));
this.setBounds(160, 250, 300, 350);
this.setTitle("用户注册");
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setVisible(true);
}
public static void main(String[] args) {
new RegFrame();
}
}
已经简化java把代码简化了
关于java把代码简化和java代码大全及详解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。