Java学习笔记(二)不定时更新
生活随笔
收集整理的這篇文章主要介紹了
Java学习笔记(二)不定时更新
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java語言畫圖
package cn.witksy.dev;import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException;/*** Author: Alfred* Created: 2015/5/7*/ public class Main {public void run() {BufferedImage bufferedImage = new BufferedImage(100,50,BufferedImage.TYPE_INT_ARGB);Graphics2D g2 = bufferedImage.createGraphics();g2.setColor(Color.red);g2.fillRect(0,0,5,5);g2.setColor(Color.blue);g2.fillRect(10,20,5,5);File outputFile = new File("D:\\dev\\java\\workspace\\draw2dtest\\test.png");try {ImageIO.write(bufferedImage, "png", outputFile);} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {new Main().run();} }
?不循環,直接打印List元素
?
[12.3, 1.3, 10.3]
?
?
<span style="font-size:14px;">打印一個數組中的所有的元素: 1、使用for循環打印 2、將數組轉化為有序的List打印出來 package com.inc.test;import java.util.Arrays;public class Test {public static void main(String[] args) {String names[] = { "Georgianna", "Tenn", "Simon", "Tom" };System.out.println(Arrays.asList(names));} }</span>
?
?
?
命令行運行jar 并傳參數
博客分類:- Java原創
Java代碼 ?
- public?class?Test??
- {??
- ????public?static?void?main(String[]?args)?{??
- ????????String?str?=?args[0];??
- ????????System.out.println(str);??
- ????}??
- }??
2.javac Test.java
3.jar cvf test.jar Test.class
//更新manifest.mf 將自己寫的manifest.mf 放到Test.class目錄
內容為 Main-Class: Test注意回車
4.jar umf MANIFEST.MF test.jar
5.java -jar test.jar 你的參數
其它方法請參考
http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 下載net.sf.fjep.fatjar_0.0.31?? http://pan.baidu.com/s/1sj0uawX 或者參考 http://jingyan.baidu.com/article/219f4bf7d0ef87de442d3820.html在編譯和運行時我們也要加上依賴的jar包,需要注意的是,使用 java -cp 有額外的jar的時候:在Linux下面ClassPath前面是一個點號加一個冒號;在Windows下面ClassPath前面是一個點號加一個分號
?http://blog.csdn.net/czw698/article/details/44353453
?
Java控制臺輸出信息console重定向到文件,后恢復到console1 import java.io.FileNotFoundException; 2 import java.io.PrintStream; 3 4 public class Test { 5 6 public static void main(String[] args){ 7 PrintStream o = System.out; 8 try { 9 System.setOut(new PrintStream("1.txt")); //重定向到文件1.txt 10 } catch (FileNotFoundException e) { 11 // TODO Auto-generated catch block 12 e.printStackTrace(); 13 } 14 System.out.println("line1"); 15 System.setOut(o); //重定向恢復到控制臺 16 System.out.println("line2"); 17 } 18 19 }
?
得到指定時間和指定周期的詳細日期時間
import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List;/*** 得到指定時間和指定周期的詳細日期時間* @author DBClient**/ public class TestTime {private static final SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private static final SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd");public static void main(String[] args) throws Exception {// String timeTmp = "00:00";// Calendar tmpCal = Calendar.getInstance();// tmpCal.setTime(df2.parse(timeTmp));// tmpCal.add(Calendar.MINUTE, -5);// // //System.out.println(df2.format(tmpCal.getTime()));// int j = 1;// while(j <= 2){// System.out.println(Math.pow(-1, j));// j++;// }String test = "2016-01-23";// new TestTime().calcTime(test);new TestTime().getMonth();new TestTime().getWeek();new TestTime().getQuarter();new TestTime().getYear();}public void calcTime(String testTime) {try {// 周 Date times = df2.parse(testTime);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.DATE, -7);cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);System.out.println(df2.format(cal.getTime()));cal.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);System.out.println(df2.format(cal.getTime()));// 月cal.add(Calendar.MONTH, -1);cal.set(Calendar.MONTH, 0);System.out.println(df2.format(cal.getTime()));System.out.println(cal.get(Calendar.MONTH) + 1);// 季度// 年// cal.add(Calendar.WEEK_OF_MONTH, -1);// System.out.println(df2.format(cal.getTime()));// //cal.add(Calendar.MONTH, -1);// System.out.println(df2.format(cal.getTime()));// System.out.println(cal.get(Calendar.WEEK_OF_YEAR));} catch (Exception e) {e.printStackTrace();}}/*** 月* @throws Exception*/public void getMonth() throws Exception {String test = "2015-02-23";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.MONTH, -1);int month = cal.get(Calendar.MONTH);int year = cal.get(Calendar.YEAR);cal.set(year, month, 1);while(cal.get(Calendar.MONTH) == month){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}/*** 周* @throws Exception*/public void getWeek() throws Exception {String test = "2016-01-09";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.DATE, -7);cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);while(ret.size() < 7){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}public void getQuarter() throws Exception {String test = "2016-03-01";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.MONTH, -3);int year = cal.get(Calendar.YEAR);int month = cal.get(Calendar.MONTH);if(month >= 0&& month < 3){month = 0;}else if(month >= 3 && month < 6){month = 3;}else if(month >= 6 && month < 9){month = 6;}else if(month >= 9 && month < 12){month = 9;}cal.set(year, month, 1);while(cal.get(Calendar.MONTH) <= month + 2 && cal.get(Calendar.YEAR) == year){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}public void getYear() throws Exception {String test = "2016-05-09";List<String> ret = new ArrayList<String>();Date times = df2.parse(test);Calendar cal = Calendar.getInstance();cal.setTime(times);cal.add(Calendar.YEAR, -1);int year = cal.get(Calendar.YEAR);cal.set(year, 0, 1);while(cal.get(Calendar.YEAR) == year){ret.add(df2.format(cal.getTime()));cal.add(Calendar.DATE, 1);}System.out.println(ret);}}計算指定日期的指定時間段的明細
?Java 依賴包相關運行技巧
有時候不能向服務器上傳jar包,或者交涉過于繁瑣;只有復制粘貼的權限可采取: 1 上傳jar包的解壓文件,可用zip解壓 2 把自己的源碼復制粘貼到解壓文件的目錄下,即可找到依賴包或者把jar包添加到java的LibClass path目錄下
?
導出亂碼: 1、可能是linux缺少中文 命令:locale 命令:fc-list :lang=zh2、可能是jdk缺少中文simsun.ttc 放:$JAVA_HOME/jreb/fonts/fallback
simsun.ttc下載: http://pan.baidu.com/s/1jHy5Uaq
?
JAVA多態原理解釋
//定義超類superA class superA { int i = 100; void fun() { System.out.println(“This is superA”); } } //定義superA的子類subB class subB extends superA { int m = 1; void fun() { System.out.println(“This is subB”); } } //定義superA的子類subC class subC extends superA { int n = 1; void fun() { System.out.println(“This is subC”); } } class Test { public static void main(String[] args) { superA a; subB b = new subB(); subC c = new subC(); a=b; a.fun(); (1) a=c; a.fun(); (2) } }/* 運行結果為:This is subBThis is subC上述代碼中subB和subC是超類superA的子類,我們在類Test中聲明了3個引用變量a, b, c,通過將子類對象引用賦值給超類對象引用變量來實現動態方法調用。也許有人會問:“為什么(1)和(2)不輸出:This is superA”。java 的這種機制遵循一個原則:當超類對象引用變量引用子類對象時,被引用對象的類型而不是引用變量的類型決定了調用誰的成員方法,但是這個被調用的方法必須是在超類中定義過的,也就是說被子類覆蓋的方法。所以,不要被上例中(1)和(2)所迷惑,雖然寫成a.fun(),但是由于(1)中的a被b賦值,指向了子類subB的一個實例,因而(1)所調用的fun()實際上是子類subB的成員方法fun(),它覆蓋了超類superA的成員方法fun();同樣(2)調用的是子類subC的成員方法fun()。另外,如果子類繼承的超類是一個抽象類,雖然抽象類不能通過new操作符實例化,但是可以創建抽象類的對象引用指向子類對象,以實現運行時多態性。具體的實現方法同上例。不過,抽象類的子類必須覆蓋實現超類中的所有的抽象方法,否則子類必須被abstract修飾符修飾,當然也就不能被實例化了。 */http://developer.51cto.com/art/200909/153887.htmjava多態解釋
?
JAVA多線程樣例
public class Test implements Runnable {private String name;private static int flag = 0;public Test(String name) {this.name = name;}@Overridepublic void run() {while (flag < 100) {flag++;System.out.println(name + ": " + flag);}}public static void main(String[] args) {long startTime = System.currentTimeMillis();for (int i = 0; i < 2; i++) {new Thread(new Test("thread-" + (i + 1))).start();}long endTime = System.currentTimeMillis();System.out.println("spend times: " + (endTime - startTime) / 1000+ " s");}}java 多線程樣例
?
轉載于:https://www.cnblogs.com/hdu-2010/p/4588989.html
總結
以上是生活随笔為你收集整理的Java学习笔记(二)不定时更新的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 斗牛犬多少钱一只啊?
- 下一篇: [原创]CentOS下Mysql双机互为