有趣的java代码相关知识
-
25个有趣实用的Python单行代码一行代码搞定的事情,为啥要两行! 在用Python的第一天,便对它的简单性、流行性及其著名的单行代码着迷。 下面分享25个有趣且实用的Python单行代码,欢迎大家点赞、收藏,支持! 1. 交换两个变量 a = 4 b = 5 a,b = b,a ## 👍 print(a,b) #结果:5 4 2. 多变量赋值 a,b,c = 4,5.5,'Hello' ## 👍 print(a,b,c) #结果: 4 5.5 hello 增加一点点难度: a,b,*c = [1,2,3,4,5] ## 👍👍 print(a,b,c) #结果: 1 2 [3,4,5] 3. 列表偶数求和 a = [1,2,3,
-
10个用Java谋生非常有趣的方式令我惊讶的是,有些人觉得编程并不令人兴奋——只将它当作是一份枯燥的工作。不过,虽然可能的确有很多无聊的编程工作,但这并不意味着你不得不接受这些工作中的一个。程序员有各种各样的机会,运用他们的技能去做一些有趣的事情,特别是如果他们懂Java的话。Java也许是时下雇主中最流行的语言,这意味着有很多很多不同的工作可供选择。只要稍微用心找一找,你就会发现一个能让你的生活快乐起来,让你愿意一大清早开开心心去上班的工作。当然,青菜萝卜各有所爱,这个人的感兴趣,可能是另一个人的不以为然。所以下面让我们来看看这10个出奇得酷的使用Java谋生的方法,让你的编程生涯保持新鲜而有趣起来:1.在NASA探索太空美国国家航空和航天局(NASA)使用Java开发了一些有趣的应用程序。近期最受欢迎的是 World Wind,这是一个软件开发工具包(SDK),可以让你从外太空放大并查看地球上的任何位置。数据来源是陆地卫星图像和航天飞机雷达地形测绘任务数据两者的综合。令人惊叹的是,使用此SDK已经构建了90个应用程序,所以想象自己也是这
-
Java代码优化的常用方法有什么?Java代码优化是Java编程开发很重要的一个步骤,Java代码优化要注重细节优化,一个两个的细节的优化,产生的效果不大,但是如果处处都能注意代码优化,对代码减少体积、提高代码运行效率是有巨大帮助的,还能在一定程度上避免未知错误,常用的Java代码优化细节如下: 1. 为类、方法指定final修饰符 为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写,如果指定了一个类为final,则该类所有的方法都是final的,Java编译器会寻找机会内联所有的final方法,内联对于提升Java运行效率作用重大,能够使性能平均提高50%。 2. 尽量重用对象 由于Java虚拟机不仅要花时间生成对象,还需要花时间对这些对象进行垃圾回收和处理,因此,生成过多的对象将会给程序的性能带来很大的影响。 3. 尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快,其他变量都在堆中创建,速度较慢,且栈中创建的变量,随着方法的运行
-
一个有趣的css布局分享一个有趣的css布局,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>有趣的布局</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css" title="&
有趣的java代码相关课程
有趣的java代码相关教程
- 4.JAVA 代码实现 在说明求解钢条切割问题的整个过程之后,接下来,我们看看如何用 java 代码实现钢条切割问题的求解。import java.util.ArrayList;import java.util.List;public class ActivitySelect { public static void main(String args[]){ //活动集合a int a[] = {1,2,3,4,5,6,7,8,9,10,11}; //活动开始时间集合s int s[] ={1,3,0,5,3,5,6,8,8,2,12}; //活动结束集合f int f[] ={4,5,6,7,9,9,10,11,12,14,16}; //活动选择存放集合A List<Integer> A = new ArrayList<>(); int n = s.length; A.add(a[0]); int k =0; //遍历选择活动 for (int i=1; i<n; i++){ if(s[i] >= f[k]){ A.add(a[i]); k = i; } } System.out.println("活动选择问题的选择活动结果为:"); System.out.println(A); }}运行结果如下:活动选择问题的选择活动结果为:[1, 4, 8, 11]代码中第 7 行至第 14 行分别初始化活动和对应的开始时间、结束时间以及活动选择过程中存放选择的活动集合,代码的第 16 至 18 行对应着开始的活动选择初始化工作,因为 java 数组的下标从 0 开始,所以这里面我们第一个选择的活动为 a [0],而不是伪代码中的 a [1]。代码的第 20 行至 26 行 for 循环遍历活动选择,按照贪心选择的方法选择对应的活动,放入最终的结果集 A 中 ,代码的 28 行 29 行输出相关的活动选择结果。
- 3.2 编写 Java 代码 Java 代码相对比较简单,因为补全的结果是一个字符串数组,补全列表的列表项也都是单个项目,所以这里直接使用ArrayAdapter再好不过(关于 ArrayAdapter 的使用详见 23 节),代码如下:package com.emercy.myapplication;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;public class MainActivity extends Activity { private AutoCompleteTextView mTextView; private String[] mDataName = {"慕课", "慕课网", "慕课Android教程", "慕斯蛋糕", "慕容复"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTextView = findViewById(R.id.autoCompleteTextView); ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, mDataName); mTextView.setAdapter(adapter); }}首先我们将补全项存入字符串数组中,然后获取 AutoCompleteTextView 对象,创建 ArrayAdapter,最后为 AutoCompleteTextView 对象指定 Adapter 即可。其中在创建 ArrayAdapter 的时候我们传入了一个 id 为android.R.layout.simple_dropdown_item_1line的布局文件,它是 Android 系统为我们内置的专门用于下拉菜单使用的布局文件,其实里面只有一个 TextView 用于显示下拉菜单项,查看源码如下:<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/dropDownItemStyle" android:textAppearance="?android:attr/textAppearanceLargePopupMenu" android:singleLine="true" android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:ellipsize="marquee" />我们在使用下拉菜单类型的样式时都可考虑直接采用系统样式,最终编译出来屏幕中有一个输入框,我们输入一个“慕”字,会展示以慕开头的所有可补全的字符串,结果如图所示:
- 4. Java 代码实现 在说明希尔排序的整个过程之后,接下来,我们看看如何用 Java 代码实现希尔排序算法。import java.util.Arrays;public class ShellSort { public static void main(String[] args) { //初始化需要排序的数组 int array[] = {9, 2, 11, 7, 12, 5}; //初始化希尔排序的增量为数组长度 int gap = array.length; //不断地进行插入排序,直至增量为1 while (true) { //增量每次减半 gap = gap/2; for (int i = 0; i < gap; i++) { //内部循环是一个插入排序 for (int j = i + gap; j < array.length; j += gap) { int temp = array[j]; int k = j - gap; while (k >= 0 && array[k] > temp) { array[k + gap] = array[k]; k -= gap; } array[k + gap] = temp; } } //增量为1之后,希尔排序结束,退出循环 if (gap == 1) break; } //打印出排序好的序列 System.out.println(Arrays.toString(array)); }}运行结果如下:[2, 5, 7, 9, 11, 12]代码中的第 8 行初始化一个需要排序的数组,后面按照从小到大的排序规则,实现了数组的排序。第 12 行至 30 行是整个希尔排序的流程。第 14 行代码表示希尔排序中的增量每次整除 2 取得,第 17 行至 25 行是一个 for 循环结构,表明按照增量进行插入排序。最后第 32 行代码输出排序好的数组。
- 3. 代码模板 我们上一节使用的 Content Assist 功能其实是调用了 Eclipse 中代码模板的内容。代码模板其实就是对源代码中再次出现的代码模式的一种描述。上面的解释比较绕口,简单来说就是代码片段的重用。Eclipse 中已经定义了很多通用的代码模板了。我们可以打开设置,然后在搜索框中搜索 template,然后就可以找到我们通过快捷键 Alt + / 调出来的 for 模板,如下图所示:这里,我们还可以对模板进行增删改等操作,有兴趣的同学可以自行尝试。
- 4.JAVA 代码实现 在说明求解背包问题的整个过程之后,接下来,我们看看如何用 java 代码实现背包问题的求解。import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Knapsack { /** * 物品内部类 */ private static class Item implements Comparable<Item>{ int type; double weight; double value; double unitValue; public Item(int type, double weight){ this.type = type; this.weight = weight; } public Item(int type, double weight,double value){ this.type = type; this.weight = weight; this.value = value; this.unitValue = value/weight; } @Override public int compareTo(Item o) { return Double.valueOf(o.unitValue).compareTo(this.unitValue); } } public static void main(String[] args){ //背包容量 double capacity = 30; //物品类型初始化数组 int[] itemType = {1,2,3,4,5}; //物品重量初始化数组 double[] itemWeight = {10,5,15,10,30}; //物品价值初始化数组 double[] itemValue = {20,30,15,25,10}; //初始化物品 List<Item> itemList = new ArrayList<>(); for(int i=0;i<itemType.length;i++){ Item item = new Item(itemType[i],itemWeight[i],itemValue[i]); itemList.add(item); } //物品按照单价降序排序 Collections.sort(itemList); //背包选择 List<Item> selectItemList = new ArrayList<>(); double selectCapacity = 0; for(Item item : itemList){ if( (selectCapacity + item.weight) <= capacity){ selectCapacity = selectCapacity + item.weight; Item selectItem = new Item(item.type,item.weight); selectItemList.add(selectItem); }else { Item selectItem = new Item(item.type, capacity-selectCapacity); selectItemList.add(selectItem); break; } } //选择结果输出 for (Item item : selectItemList){ System.out.println("选择了类型:"+ item.type+" 的物品,重量为:"+item.weight); } }}运行结果如下:选择了类型:2 的物品,重量为:5.0选择了类型:4 的物品,重量为:10.0选择了类型:1 的物品,重量为:10.0选择了类型:3 的物品,重量为:5.0代码中第 10 行至第 31 行定义了物品的一个内部类,用来存储一个物品的类型、重量、价值、单位重量的价值,并且实现在其中实现了一个对比函数。代码的第 35 至 42 行对应着开始的背包问题的初始化工作,分别初始化了背包容量、物品类型、物品重量、物品价值。代码的第 44 行至 51 行将所有物品按照物品内部类的格式加入数组,并且按照物品单位重量的价值进行降序排序。代码的第 53 行至第 66 行,按照背包问题的贪心选择方法选择对应的物品,并记录选择的物品类型及重量,放入到选择的物品列表中 ,代码的 69 行 71 行输出相关的物品选择结果。
- 4. Java 代码实现 在说明冒泡排序的整个过程之后,接下来,我们看看如何用 Java 代码实现冒泡排序算法。import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { //初始化需要排序的数组 int array[] = {9,2,11,7,12,5}; //对需要排序的数组进行排序 for (int i=1; i<array.length; i++){ //针对待排序序列中除了已经排序好的元素之外,重复排序工作 for(int j=0;j<array.length-i;j++){ //当相邻两个元素需要交换时,交换相邻的两个元素 if(array[j]>array[j+1]){ int temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } //打印出排序好的序列 System.out.println(Arrays.toString(array)); }}运行结果如下:[2, 5, 7, 9, 11, 12]代码中的第 8 行初始化一个需要排序的数组,后面按照从小到大的排序规则,实现了数组的排序。第 11 行是外层循环,不断地重复排序工作。第 14 行是内层循环,不断地实现每一次 “冒泡” ,将最大的一个元素找出。第 17 至第 21 行实现当相邻两个元素需要交换时,交换相邻的两个元素的功能。第 25 行打印出排序好的数组。
有趣的java代码相关搜索
-
yarn
yum
压缩工具
依赖关系
移动app
移动终端
移位操作
移位运算符
异常处理
易语言教程
音频格式
音频管理器
引入css
引用类型
英语词汇
用户界面
语言编程
语言工具
语言学习
语言转换