日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java学习笔记七

發布時間:2024/2/28 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java学习笔记七 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


16.

看一下java application ,的 main 方法:

publicstatic void main(String[] args)

{},其實 是接收一個字符串數組的方法,在學習相關只是之前,我們可以利用run configuration 選項 來為main方法傳遞參數:通過argument(參數)選項,中間用空格隔開。

對于本身就帶有空格的參數來講,可以使用雙引號,包裹。

17.

統計一下輸出的 a,b,c,出現的次數

為什么選用 HashMap,因為這是符合它的特性的,這道題中可以令 key 為數值,令value 作為出現的次數,這樣做,前者不會重復,后者可以累加,首先取出元素判斷(利用get方法取出,不存在會打出null),元素是否出現在集合中,如果真為 null,那就直接加進去,如果不是null,證明已經存在了,在累加一就可以了;

package com.jianjian3;

?

import java.util.HashMap;

public class HashMapTest

{

?? public static void main(String[] args)

?? {

????? HashMap map = new HashMap();

?????

????? for(int i = 0; i < args.length;i++)

????? {

??????? System.out.println(args[i]);

??????? if(map.get(args[i]) ==null )

???????

?????????? map.put(args[i],new Integer(1));

?????????? else

?????????? {

?

?????????? Integer in = (Integer)map.get(args[i]);

?

?????????? in = new Integer(in.intValue() + 1);

?

?????????? map.put(args[i],in);

?

?????????? }

???????

??????????

??????????

???????

????? }

????? System.out.println(map);

?? }

}

18.

學了那么久的集合,用一道題來總結一下;

還是那道題,輸出10 ——50之間每個數字出現的次數;

并且打印出出現次數最多的數字和次數;

如果沒有出現則不顯示

注意的點

1:包裝類的實現

2 :如何遍歷map;

3:一定要理解并掌握,放入和取出key value 的 if else 方法;

4:掌握專門為集合提供方法的類Collections的方法作用;

5:在Map 中有 keySet()可以返回 key的集合,有values(),可以返回value的集合,而Collections的方法都是針對集合(collection)的方法;比如這次要找最大值;Collections.max(collection)

?

package com.jianjian2;

?

import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;

import java.util.Random;

import java.util.Set;

?

public class JianjianTest

{

?? public static void main(String[] args)

?? {

????? Map map = new HashMap();

????? Random random = new Random();

//如果想更好的輸出結果,可以換成

//Map map = new TreeMap;這樣集合就變得有序了;

????? for(int i = 0 ; i < 50 ; i ++)

????? {

??????? int in = random.nextInt(41) + 10;

????? System.out.println(in);

??????? Integern1 = new Integer(in);

??????? if(map.get(n1)==null)

??????? {

?????????? map.put(n1,newInteger(1));

??????? }

??????? else

??????? {

?????????? int n2 = ((Integer)map.get(n1)).intValue() + 1;

?????????? Integern3 = new Integer(n2);

?????????? map.put(n1,n3);

??????????

??????? }

???????

????? }

????? Set set = map.keySet();

????? for(Iterator? ite = set.iterator();ite.hasNext();)

????? {

??????? Integern4 = (Integer)ite.next();

??????? Integern5 = (Integer)map.get(n4);

??????? System.out.println(n4 +":" + n5);

????? }?

Integer? n6 = (Integer)Collections.max(map.keySet());

//加上這句的意思是找出key 的最大值;簡單;

?

?

//??? System.out.println(map);

?? }

}

19.

局部變量必須要賦初值后才可以被使用,即被定義在方法中的局部變量,而全局變量不需要,如果沒有被賦初值的話,他們都有自己的默認值!一般是定義在類中的方法;

package com.jianjian2;

?

public class Test5

{

?? static? int a ;

?? public static void main(String[] args)

?? {?

????? int b;

????? System.out.println(a);

????? System.out.println(b);

?? }

}

這樣 a可以被打印出來,但是b不可以被打印出來。

?

20.

彩票概率事件:

如果必須從1? - 50 之間的數字中取六個數字來抽獎,那么會有多少種情況呢:

package com.jianjian2;

?

import java.util.Scanner;

?

public class LotteryOddsTest

{

?? static int lotteryOdds = 1;

?? public static void main(String[] args)

?? {

????? Scanner s = new Scanner(System.in);

????? System.out.print("Pleaseenter the nums you will draw :");

????? 6

????? 50

????? int i = s.nextInt();

????? System.out.println();

????? System.out.print("Pleaseenter the total nums:");

????? int j = s.nextInt();

????? System.out.println();

????? for(int m = 1 ; m <= i; m ++)

????? {

??????? lotteryOdds =lotteryOdds *(j - m + 1)/m;

????? }

????? System.out.println("thelotteryodds is "+lotteryOdds);

?????

?? }

}

21.

continue 語句用于跳出當前循環,回到循環首部,不結束,break語句用于跳出循環。

22.

如果想快速去的數組中的所有數據,可以調用Arrays中的toString()方法,返回一個包含數組元素的字符串,這些元素被放置在括號內,并用逗號隔開。

?

?

package com.jianjian2;

?

import java.util.Arrays;

?

public class ArrayTest

{

?? public static void main(String[] args)

?? {

????? int[] a = {1,2,3,4,5,6,7,8,9,10};

????? System.out.println(Arrays.toString(a));

?? }

}

輸出[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

?

23.

數組的長度可以為零

?

24.

想要實現自由的拷貝數組,即自己決定拷貝目標數組的起始位置;這個方法位于System.arrayCopy();里面,方法接收五個參數

(目標數組名,目標數組拷貝起始位置(其實是下表為止index),帶拷貝數組,待拷貝數組起始位置,拷貝個數),待拷貝數組拷貝時會覆蓋原來數組中的元素

?

?

package com.jianjian2;

?

import java.util.Arrays;

?

public class ArrayTest3

{

?? public static void main(String[] args)

?? {

????? int[] a = {1,2,3,4,5};

????? int[] b = {6,7,8,9,10};

????? System.arraycopy(a,2,b,2,3);

????? System.out.println(Arrays.toString(b));

??

?? }

}

輸出結果是:6,7,3,4,5

?

?

25.

現在改進一下,從1 – 49 中隨機抽取 6 個數字,不能重復

看似簡單,其實有幾個難點:

1:要用數組做,要用隨機做,但是隨機肯定有可能會生成重復的數字,不管是隨機數組元素,還是隨機下標都是不行的,解決的方法就是先定義一個數組,存放1 – 49個數字,而后再去取元素的時候,取元素的下標,然后去除該下標元素的方法就是將數組中的最后一個數值改寫它,比如說:數組 a[]存放元素,取完元素后 a[r] = a[n-1],

n --

就是將原數組的最大值賦給 a[r]為什么要這么做;無外乎有兩種情況,就是未賦值之前,a[r]就是等于了 a[n - 1],這樣,a[n - 1]不存在,符合要求;二是不等于,這樣最大值沒有被取到,就把最大值換給 a[r],這樣就解決了這個問題;

?

?

package com.jianjian2;

?

import java.util.Arrays;

import java.util.Random;

?

public class RandomTest2

{

?? public static void main(String[] args)

?? {

????? Random random =? new Random();

????? int[] a =newint[49];

????? for(int i = 0 ; i < a.length; i++)

????? {

??????? a[i] = i + 1;

???????

????? }

????? int[] b =newint[6];

????? for(int i = 0 ; i < b.length;i ++)

????? {

??????? int r = random.nextInt(49) ;

??????? b[i] = a[r];

??????? a[r] = a[a.length - i - 1];

????? }

????? System.out.println(Arrays.toString(b));

?????

?? }

}

26.

要想快速地打印一個二維數組的元素列表,可以調用:

System.out.println(Arrays.deepToString(s));

?

27.

日期估計在今后的編程中會很常見,在java中采用 GregorianCalendar()定義時間,也就是西歷,我們所說的公歷,同樣具有set與get方法用以放入和取出日期,還有就是,類中有默認的日期。

?

28.

方法重載的陷阱:java允許重載任何方法,而不只是構造器方法,因此要完整的描述一個方法,需要指出方法名以及參數類型。這叫做方法的簽名(signature)。但是返回類型不是方法簽名的一部分。也就是說,不能有兩個名字相同、參數類型也相同卻返回不同類型值的方法。

?

29.

任何java程序都應該有一個main方法這句話是不對的,使用static代碼塊就不需要:

class StaticTest

{

?? static {

?? system.out.println(“hello world ”);

}

}

也是會打印出hello world 的;

?

30.

一個類可以使用所屬包中的所有類,以及其他包中的共有類。

?

總結

以上是生活随笔為你收集整理的Java学习笔记七的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。