最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java的基本數(shù)據(jù)類型和運算方法(必看篇)

 更新時間:2017年07月17日 08:55:46   投稿:jingxian  
下面小編就為大家?guī)硪黄狫ava的基本數(shù)據(jù)類型和運算方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

編碼

ASCII--0~127 65-A 97-a

西歐碼表---ISO-8859-1---0-255---1個字節(jié)

gb2312----0-65535---gbk---2個字節(jié)

Unicode編碼體系---utf-8---3個字節(jié)

中 f

bit位 Byte字節(jié) 1Byte = 8bit 1KB=1024B MB GB TB PB---計算機中存儲單位

常量

整數(shù)常量---所有的整數(shù) 3,99,107

小數(shù)常量---所有的小數(shù) 3.5 100.9

字符常量---用單引號將一個字母、數(shù)字、符號標識起來 ‘a(chǎn)' ‘=' ‘ '

字符串常量---用雙引號將一個或者多個字符標識起來 “abc” “234” “q2” “”

布爾常量---用于表示邏輯值---true/false

空常量---null

5-整數(shù), 5.0-小數(shù) ‘5'-字符 “5”-字符串 ‘5.0'-寫法錯誤 “5.0”-字符串

進制

二進制:滿二進一,0~1 1+1=10 0b10011 0b0011,從JDK1.7開始,允許以0b作為開頭來標識一個數(shù)字是一個二進制數(shù)字

八進制:滿八進一,0~7, 7+1=10 要求必須以0作為開頭 06 015

十進制:滿十進一,0~9

十六進制:滿十六進一,0~9,,A~F,9+1=A f+1=10 要求以0x作為開頭 0x5 0xad

進制的轉換

十進制轉換成二進制:不斷除以2取余,然后將余數(shù)倒排

二進制轉換成十進制:從低位次起,按位次乘以2的位次次冪,然后求和

二進制轉換成八進制:從低位次起,每三位劃分為一組,不足三位補0,產(chǎn)生一位八進制數(shù)字,將這些數(shù)字按序排列即可

八進制轉換成二進制:一變?nèi)?--一位八進制數(shù)字產(chǎn)生三位二進制數(shù)字

二進制轉換成十六進制:四變一的過程

變量

System.out.println(i);

int i = 5;---不行---變量必須先聲明在使用

int i;

System.out.println(i);---不行----變量在使用之前必須先初始化

數(shù)據(jù)類型

基本數(shù)據(jù)類型

數(shù)值型

整數(shù)型

byte---字節(jié)型---1個字節(jié)--- -2^7~2^7-1 --- -128~127

byte b = 5; byte b2 = -128;

short---短整型---2個字節(jié)--- -2^15~2^15-1 --- -32768~32767

short s = 54; short s = -900;

int---整型---4個字節(jié)--- -2^31~2^31-1

int i = 100000;

int j = 100_000_000;--從JDK1.7開始是允許的。在編譯的時候會自動忽略這些_ -> int j = 100000000;

int i = 00001111;---八進制

Java中整數(shù)默認類型就是int

long---長整型---8個字節(jié)--- -2^63~2^63-1---以L作為結尾標識這個數(shù)字是一個long類型的數(shù)字

long l = 3L;

浮點型

float---單精度---4個字節(jié)---必須以f作為結尾

float f = 3.2f;

double---雙精度---8個字節(jié)

Java中小數(shù)默認是double類型

double d = 3.5;

double d = 4.6D;---可以

double d = 3.9e4; //是十進制的科學計數(shù)法

double d = 0x3p2; //是十六進制的科學計數(shù)法 -> 12

字符型

char---2個字節(jié)--- 0 ~65535

char c = ‘a(chǎn)';

char c = ‘中';

布爾型

boolean---true/false

boolean b = false;

引用數(shù)據(jù)類型

類---class 接口---interface 數(shù)組---[]

數(shù)據(jù)類型的轉換

隱式轉換/自動類型轉換

byte b = 100;

int i = b;

long l = 63;---可以---當整數(shù)的值在int類型的范圍內(nèi)的時候,可以不用添加L這個結尾

規(guī)律一:小的類型可以轉化為大的類型---byte->short->int->long float->double

int i = 5;

float f = i;

long l = 6;

float f = l;

規(guī)律二:整數(shù)可以轉化為小數(shù),但是可能產(chǎn)生精度損失

char c = ‘a(chǎn)';

int i = c;

規(guī)律三:字符型可以轉化為整型

short s = ‘a(chǎn)';---可以

char c = 100;---可以

char c = ‘a(chǎn)';

short s = c;---不可以

定義了char類型的變量c,存儲的數(shù)據(jù)是一個字符,不需要檢查具體的字符編碼,當賦值給short類型的時候,short需要檢查這個字符對應的編碼是否在short類型的取值范圍內(nèi),這個時候無法確定這個字符對應的具體編碼,由于short類型的取值范圍和char類型沒有完全重合,為了防止出現(xiàn)超過范圍的情況,不允許賦值。

short s = 97;

char c = s;--不可以

顯式轉換/強制類型轉換

long l = 54;

int i = (int)l;

double d = 3.5;

int i = (int)d;---小數(shù)強轉成整數(shù)的時候,小數(shù)部分直接舍棄

double類型不能精確存儲小數(shù)

Hexadecimal--十六進制

Decimal--十進制

Octal---八進制

Binary--二進制

運算符

算術運算符

+加 -減 *乘 /除 %取模 ++自增 --自減 +字符串拼接

int i = 5210 / 1000 * 1000;--->i = 5000;

注意:

1. 整數(shù)運算完成之后結果一定是整數(shù)

2. 整數(shù)除以0的時候,編譯通過,運行報錯---ArimeticException---算術異常

3. 小數(shù)除以0的結果是Infinity

4. 0/0.0的結果是NaN---Not a Number---非數(shù)字

5. byte/short類型在運算的時候會自動提升為int類型

%取余運算

-5%3=-2 -4%3=-1 -3%7=-3

5%-3=2 7%-2=1 2%-8=2

-5%-3=-2 -9%-3=0

對于負數(shù)的取余,先按照正數(shù)的取余運算,看取余符號左邊的數(shù)字的符號,如果左邊是負數(shù),那么結果就是負數(shù)

5%1.2=0.2 6%1.3=0.8

4.3%1.4=0.1

++/--

對于++在原來的基礎上自增1

int i = 5;

int j = ++i;---> i自增1,然后將i的值賦值給j---先自增,再運算

int j = i++;--->先獲取i的值5,i自增變成6,然后將獲取的值5賦值給j---先運算,再自增

int i = 3;

int j = ++i * 2;-> j = 8;

int j = i++ * 2;->j = 6

int i = 6;

int j = i++ + ++i;->i = 8; j = 14;

int j = ++i + i++;->i = 8; j = 14

byte b = 5;

b++;---JVM在底層會對結果進行強制類型轉換,將結果再轉換為byte類型

char c = ‘a(chǎn)';

System.out.println(c + 4);--可以

char c2 = ‘d';

System.out.println(c + c2);---提升為int類型之后再進行運算

+ 字符串拼接運算

“a” + “b”---> “ab”

“a” + 3---> “a3”

“a” + true-> “atrue”

2 + 4 + “f”-> “6f”

“f” + 2 + 4-> “f24”

賦值運算符

= += -= *= /= %= &= |= ^= <<= >>= >>>= ~=

int i= 5;

i += 3; -> i = i + 3; -> i = 8;

i -= 2;-> i = i - 2;-> i = 3;

int j;

j += 4;---不行

int i = 5;

i += i -= i *= 5;--> i = -15;

i = 5 + ( 5 - (5 * 5)) ;

i += i -= i *= ++i;--->i = -20;

i += i*= i-= (i++ + --i);---> i = -20;

i = 5 + ( 5 * (5 - (5 + 5)));

byte b = 5;

b += 3;---可以

byte b = 125;

b += 3;---可以--- -128

比較/關系運算符

==相等 !=不等 > < >= <= instanceof

3 == 4;-> false

instanceof---判斷對象與類的關系的--只能用于引用數(shù)據(jù)類型

String s = “abd”;

System.out.println(s instanceof String);---true

System.out.println(“def” instanceof String);---true

邏輯運算符

用于運算邏輯值

&與 |或 !非 ^異或 &&短路與 ||短路或

true&true=true true&false=false false&true=false false&false=false

true|true=true true|false=true false|true=true false|false=false

!true=false !false=true

true^true=false true^false=true false^true=true false^false=false

對于&&,如果前一個表達式的值為false,那么就能確定整個表達式的值為false,&&后邊的運算就不再進行了

三元/三目/條件運算符

邏輯值?表達式1:表達式2

如果邏輯值為true,執(zhí)行表達式1;反之執(zhí)行表達式2

int i = 5, j = 7;

i > j ? System.out.println(i): System.out.println(j);---不行!三元運算符運算完成之后必須有結果!

double d = i > j ? i * 2.5 : j;---兩個表達式的返回值類型要么一致,要么相容

從控制臺獲取數(shù)據(jù)

import java.util.Scanner; //寫在package之下,class 之上

Scanner s = new Scanner(System.in);

int i = s.nextInt();

double d = s.nextDouble();

String str = s.nextLine();

String str2 = s.next();

以上這篇Java的基本數(shù)據(jù)類型和運算方法(必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java后端向前端返回文件流實現(xiàn)下載功能

    Java后端向前端返回文件流實現(xiàn)下載功能

    后端可以使用Java中servlet提供的HttpServletResponse,核心步驟是要設置響應的數(shù)據(jù)類型,設置為某一類文件類型或二進制格式,以及響應頭,然后用ServletOutputStream將文件以流的形式發(fā)送到前端,本文介紹Java后端向前端返回文件流實現(xiàn)下載功能,感興趣的朋友一起看看吧
    2023-12-12
  • Java 文件傳輸助手的實現(xiàn)(單機版)

    Java 文件傳輸助手的實現(xiàn)(單機版)

    這篇文章主要介紹了Java 文件傳輸助手的實現(xiàn)(單機版),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • MyBatis中的resultMap簡要概述

    MyBatis中的resultMap簡要概述

    這篇文章主要介紹了MyBatis中的resultMap簡要概述的相關資料,需要的朋友可以參考下
    2016-07-07
  • SpringBoot實現(xiàn)API接口的完整代碼

    SpringBoot實現(xiàn)API接口的完整代碼

    這篇文章主要給大家介紹了關于SpringBoot實現(xiàn)API接口的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • springboot利用easypoi實現(xiàn)簡單導出功能

    springboot利用easypoi實現(xiàn)簡單導出功能

    本文介紹了如何使用Spring Boot和EasyPoi庫實現(xiàn)Excel文件的導出功能,EasyPoi是一個簡化Excel和Word操作的工具,通過簡單的配置和代碼,可以輕松地將Java對象導出為Excel文件,并且支持圖片導出等功能,感興趣的朋友一起看看吧
    2024-12-12
  • SpringBoot使用Apache?POI實現(xiàn)導入導出Excel文件

    SpringBoot使用Apache?POI實現(xiàn)導入導出Excel文件

    Apache?POI?是一個強大的?Java?庫,用于處理?Microsoft?Office?文檔,下面我們來看看SpringBoot如何使用Apache?POI導入導出Excel文件功能吧
    2025-01-01
  • Java實現(xiàn)空指針后的猜拳游戲

    Java實現(xiàn)空指針后的猜拳游戲

    “java.lang.NullPointerException”?空指針異常可以說是Java程序最容易出現(xiàn)的異常了,小編寫了一個?IDEA?插件,每當程序出現(xiàn)空指針異常時就會彈出一個“猜拳游戲”窗口,該窗口不能直接關閉,只有當你游戲獲勝時,窗口才會自動關閉
    2022-09-09
  • Java利用happen-before規(guī)則如何實現(xiàn)共享變量的同步操作詳解

    Java利用happen-before規(guī)則如何實現(xiàn)共享變量的同步操作詳解

    這篇文章主要給大家介紹了關于Java利用happen-before規(guī)則實現(xiàn)共享變量的同步操作的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • java獲取properties屬性文件示例

    java獲取properties屬性文件示例

    Properties類表示了一個持久的屬性集。Properties可保存在流中或從流中加載。屬性列表中每個鍵及其對應值都是一個字符串。本文使用java讀取這些屬性,看下面詳細介紹吧
    2014-01-01
  • Java對文件的隨機讀寫以及壓縮處理操作

    Java對文件的隨機讀寫以及壓縮處理操作

    這篇文章主要介紹了Java對文件的隨機讀寫以及壓縮處理操作,是Java入門學習中的基礎知識,需要的朋友可以參考下
    2015-10-10

最新評論

城步| 蓬安县| 博湖县| 泰来县| 平乐县| 子洲县| 盘山县| 桐梓县| 富裕县| 临洮县| 英超| 桂东县| 泰安市| 霍邱县| 房山区| 邻水| 嘉善县| 南郑县| 澄江县| 翼城县| 南召县| 华阴市| 余江县| 平果县| 商洛市| 中江县| 临江市| 多伦县| 上饶县| 沈丘县| 江安县| 利津县| 瓦房店市| 九龙坡区| 武隆县| 常山县| 浏阳市| 吴桥县| 天峻县| 乌苏市| 云霄县|