1. 程式人生 > >《寫給大忙人看的Java核心技術》讀書筆記

《寫給大忙人看的Java核心技術》讀書筆記

1基本的程式設計結構

  • 1.2.1 整型的的範圍不依賴程式所執行的機器。
  • 1.2.1整型的賦值可以給數字新增下劃線,例如1_000_000表示一百萬,下劃線閱讀起來更容易,Java編譯器會直接刪除它們

    int i = 10_8_9;
    long l = 8_09_9L;
    short s = (short)10_00;
    byte b = 1_1_9;

  • 1.3.2 java變數,方法或類的命名必須以字母開始,由任意字母數字符號_與$組成(不能使用其他符號和空格),但是$事專門在自動產生的名稱中,你不該使用它。

  • 1.4.5 邏輯操作符的“捷徑”評估,其他書中也有介紹的短路效果,第一個條件滿足(或不滿足)第二個條件不進行判斷

    n!=0 &&s+(100-s)/n //如果n!=0不為真 ,後面的也就沒有必要判斷了,
    n==0||s+(100-s)/n //如果第一個條件為真,後面也就沒必要判斷了

  • 1.4.5 邏輯操作符與位元位操作符

    • 1 &(與),|(或),^(非)應用到boolean判斷時,不具備“捷徑”評估,兩個運算元都會強制評估
    • 2 更常見的,是作為二進位制數與整數的位模式上操作, // 0xF的二進位制是0…01111,n^0xF 表示取n的最末四位 ;n = n|0xF 表示將n最低四位設為1,n = n^0xF 表示將n按0xF的值取反。
    • 3 算術位移操作符,>>(以0替換前面的位0xF>>2=0…01100);>>>(將符號位擴充套件為最前面的位),常用於簡單常量的儲存,節省空間。
  • 1.4.6 大數

      BigInteger bi = BigInteger.valueOf(101928367820283739L);//可用於無限長度的整型數
      BigDecimal bd = BigDecimal.valueOf(19832728291928331928392d);//可用於定義無限精度的浮點數
    

    //類物件不支援直接使用計算操作符
    // BigDecimal next =new BigDecimal(l)+bd ; // errer The operator + is undefined for the argument type(s) BigInteger, BigDecimal
    BigDecimal next = bd.multiply(bd.add(BigDecimal.valueOf(l)));
    //next = 3.93337111501454592485184483943890000000E+44

  • 1.5.3 字串判空 一般使用Apache的StringUtils.isNotBlank(str) ,str為null或“”均返回FALSE;
  • 字串比較不能用“==”的原因,String 作為類物件,“==”比較的是地址,存放在堆記憶體中的地址,如果兩物件指向堆中同一個物件,方能TRUE。
  • 1.5.3 字串的比較System.out.println(“compareTo “+(“TIANtang”.compareTo(STR_3))); //返回第一個差別字元的Unicode差值 T-t 等於-32
  • 1.6.1 System 輸入輸出
    Scanner in = new Scanner( System.in);
    String name = in.nextline();//取整行輸入
    String firstName = in.next();//取單個單詞,空格分隔的;
    int age = in,nextInt();//取整數,類似的有nextDouble(),也可有對應的hasNextXXX()方法檢查
    System.out.printf(“%8.2f”,1000.0/3.0);//%8.2f表示浮點數寬度為8,精度為小數點後2位
    System.out.printf(“Hello,%s. next year you’ll be %d. \n”,name,age);//類似win cmd和Linux的 轉換字元,%s.表示對應位置的string,f是float,前面加2表示精度為2,d是十進位制整數……

0佔坑!持續更新

  • 列表內容
      -
  • 列表內容
      -

相關推薦

大忙人Java核心技術讀書筆記

1基本的程式設計結構 1.2.1 整型的的範圍不依賴程式所執行的機器。 1.2.1整型的賦值可以給數字新增下劃線,例如1_000_000表示一百萬,下劃線閱讀起來更容易,Java編譯器會直接刪除它們 int i = 10_8_9; long l

大忙人java筆記--基本的編程結構

整數 lin 大型 nal 數據 int() exti 沒有 hello 1.字符串是UTF-16編碼中的Unicode編碼點的序列 2.綁定System.in的Scanner可以讀取終端輸入: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px;

大忙人的Go語言(一)

保留 fff 代碼規範 ebo utf 返回值 sha new do-while Tips 寫給大忙人看的Golang教程(一)閱讀本文之前,我認為你已經掌握其他語言基礎並寫出一個簡單的項目。 (1)Golang編程註意事項 源文件必須以.go為擴展名. Go應用程序

大忙人的資料庫儲存引擎-高階話題

導言在第一篇博文中,我們學習了b-tree和lsm-tree的索引管理方式,索引演算法也在選擇儲存引擎型別時候起到了關鍵作用,下述大標題也同等重要需要考慮 1 一致性,事務和併發控制單體資料庫,通常指的是關係型/SQL,支援強一致性和ACID事務,分散式資料庫必須遵從cap理論,當出現故障的時候,選擇一致性

關於C++的那些事兒(一)--讀《大忙人的C++》

註釋的使用 /* / 是從一個(/ )開始到 ( */)結束的。 重置輸入流的錯誤標誌,需要呼叫cin.clear()。 int x=static_cast(0.0); ==型別轉換== 從不建議在表示式中組合==有==符號整數和無符號整數。因為無符號整數u

大忙人的JavaSE8 閱讀筆記之二

import java.util.Arrays; import java.util.List; import java.util.function.Predicate; public class Java8Tester { public static void main(String args[])

大忙人的作業系統

文章主要結構圖如下 作業系統 現代計算機系統由一個或多個處理器、主存、印表機、鍵盤、滑鼠、顯示器、網路介面以及各種輸入/輸出裝置構成。 然而,程式設計師不會直接和這些硬體打交道,而且每位程式設計師不可能會掌握所有計算機系統的細節,這樣我們就不用再編寫程式碼了,所以在硬體的基礎之上,計算機安裝了一層軟體

大忙人的程序和執行緒

我們平常說的程序和執行緒更多的是基於程式語言的角度來說的,那麼你真的瞭解什麼是執行緒和程序嗎?那麼我們就從作業系統的角度來了解一下什麼是程序和執行緒。 程序 作業系統中最核心的概念就是 程序,程序是對正在執行中的程式的一個抽象。作業系統的其他所有內容都是圍繞著程序展開的。程序是作業系統提供的最古老也是最重要的

大忙人的死鎖全詳解

![](https://img2020.cnblogs.com/blog/1515111/202006/1515111-20200628150443651-1541515149.png) ## 前言 計算機系統中有很多`獨佔性`的資源,在同一時刻只能每個資源只能由一個程序使用,我們之前經常提到過印表機,這

Java核心技術學習筆記-繼承

java 繼承按照我們中文通俗的理解是不需要付出努力,就獲得別人的能力或資產,比如繼承父輩的家產,繼承父輩的表達能力,繼承父輩的外貌等等。在類裏面的繼承,可以理解不需要重新開發代碼,就能復用父類的方法和域。 在繼承關系裏面,可以分為父類和子類,子類繼承父類,那子類就有了跟父類一樣對外的方法

核心技術讀書筆記----第5章 繼承(一)

特殊 編譯器 父類構造函數 ack 父類 指定 引用 tsa 一句話 第5章 繼承(一) 1、super:當希望子類調用超類的方法時,使用super.方法名super不是一個對象的引用,不能將super賦值給另一個對象變量,它只是一個指示編譯器調用超類方法的特殊關鍵字。 p

Java核心技術Ⅰ 閱讀筆記

n) bst bstr 程序設計 等號 java虛擬機 isn 代碼 引用 目錄 Java的基本程序設計結構 Java的基本程序設計結構 當我們編譯Java源代碼後,會產生包含類字節碼的文件,使用java明類執行時,Java虛擬機會從指定類中的main方法開始執行。

Java核心技術_筆記7-1

1.異常物件都是派生於 Throwable 類的一個例項 非受查異常: Error層描述內部錯誤 和 資源耗盡錯誤 由程式導致的異常屬於RuntimeException 受查異常: 程式本身沒有問題,執行時產生的錯誤(如io,取決於環境而非程式碼)屬於其他異常

Java核心技術_筆記7-3

1 .一個供其他程式設計師使用的子系統中 用於表示子系統故障的異常型別可能會產生多種解釋 可將原始異常設定為新異常的原因 try { access the database; } catch ( SQLException e) { Throwable se =

Java核心技術_筆記8-3

1 .定義泛型型別自動提供一個原始型別 原始型別名字是 刪去型別引數後的 泛型型別名 替換為限定型別 無限定時用Object Pair< T>原始型別為Pair(T無限定 用Object) public class Pair{private Obj

Java核心技術_筆記8-4

1 .使用遺留程式碼,利用註解讓警告消失 @SuppressWarnings(“unchecked”) 2 不能用型別引數代替基本型別double要用Double 3 .查詢只返回原始型別 if(a instanceof Pair< String>)

Java核心技術_筆記9-1

1 .Java幾何類庫介面與實現分離 2 .集合類基本介面是Collection介面 基本方法add向集合中新增元素 iterator返回一個實現了iterator介面的物件 3 .迭代器4個方法 public interface Iterator < E

Java 核心技術學習筆記_卷1_(第9版) 基礎知識 002(實踐出真知)

第 1 章 Java程式設計概述 1. Java語言特性 (1)簡單性         1)語法上拋棄了C++很多晦澀的特性         2)基本直譯器及相關類支援僅需要40KB ; 增加基礎的標準類庫和對執行緒的支援,需要增加175KB (2)面向物件

Java 核心技術學習筆記_卷1_(第9版) 基礎知識 004(實踐出真知)day 1

第3章 Java的基本程式設計結構 1.   從一個簡單Java應用程式開始介紹Java程式語言的使用規範 public  class FirstSample {       public  static  void   main(String[] args)

java核心技術學習筆記(三)—GregorianCalendar

我們平時常用的java時間工具類應該有Date和GregorianCalendar,其中Date類的例項狀態表示的是一個時間點,而GregorianCalendar則是以日曆的方式管理時間,非常方便的就可以實現時間的定位和時間的偏移(從現在這一刻往前或後延時幾天