java中char型別
- 編碼方式
java中的編碼方式是Unicode碼,char型別在java中被當做是整數進行儲存的,Unicode碼是一種無符號的編碼的方式 0~65535的編碼值可以表示幾乎所有的語言。定義的時候使用''單引號包括住。
‘A’(65)~‘Z’(90) ;
'a'(97) ~ (122) ;
'0'(48) ~ '9'(57) ;
- 簡化運算的char型別資料
package function1.it.cast01; public class Test { public static void main(String[] args) { /*char num = 'a'; num -= 32 ; System.out.println(num);*/ char sdf = 'a'; sdf = sdf - 32 ; } } A Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from int to char at function1.it.cast01.Test.main(Test.java:10)
第一個是正確的,第二個是錯誤的。因為簡化運算在運算的過程中帶著資料型別進行計算。第二中提示的錯誤資訊是:無法將整型的資料直接轉換為char資料型別。
分析第二中複合表示式中的執行的特點,執行順序:sdf = sdf - 32 ;這個表示式是先計算然後進行賦值,從右到左。sdf是字元型別的資料,在和整型的資料進行算術運算的時候,就會算自動向上轉型為Int 型別的資料,而int型別的資料的範圍比char 型別的資料範圍大,不能由高階到低階自動的轉型,可能會發生精度的損失,這樣JVM就會給出報錯。
相關推薦
java中char型別轉換成int型別
PlanA: char ch = '9'; if (Character.isDigit(ch)){ // 判斷是否是數字 int num = Integer.parseInt(String.valueOf(ch)); System.out.println(num); }
java中char型別
編碼方式 java中的編碼方式是Unicode碼,char型別在java中被當做是整數進行儲存的,Unicode碼是一種無符號的編碼的方式 0~65535的編碼值可以表示幾乎所有的語言。定義的時候使用''單引號包括住。 ‘A’(65)~‘Z’(90) ; 'a'(97)
Java中String型別傳參和char陣列型別傳參的區別(疑問)
都說java只有一種引數傳遞值傳遞,傳基本型別是值的副本,傳引用型別是引用地址值的副本為什麼基於副本的兩種修改會有區別呢?面試題String str="hello"; char[] c = {'a','b','c'}; void change(String str,char[
java中char和int型別的相互轉換
char型別轉int型: char numChar = '9'; int nSum = numChar-'0'; int型別轉cahr型:int num = 9; char numChar = n
java 中常見 型別轉換 -全面-String ,char ,char[],int 之間的轉換。
package pack; public class Exchange { public static void main(String [] args) { // 1 String <<<----->>int String st
java中double型別的記憶體表示
轉自[http://bbs.csdn.net/topics/260050279] 浮點數儲存的位元組格式如下: 地址 +0 +1 +2 +3 內容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 這裡 S 代表符號位,1是負,0是正 E 偏移1
Java中char佔用幾個位元組
在討論這個問題之前,我們需要先區分unicode和UTF。 unicode :統一的字元編號,僅僅提供字元與編號間對映。符號數量在不斷增加,已超百萬。詳細:[https://zh.wikipedia.org/zh-cn/Unicode] UTF :unicode轉
java中資料型別
xl_echo編輯整理,交流學習請加1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 基本資料型別有一下四種 int資料型別有: byte(8bit, -128~127) short(16bit) int
Java中Date型別詳解
一、Date型別的初始化 1、 Date(int year, int month, int date); 直接寫入年份是得不到正確的結果的。 因為java中Date是從1900年開始算的,所以前面的第一個引數只要填入從1900年後過了多少年就是你想要得到的年份。 月需要減1,日可以直接插入。 這種方法用的比
JAVA中列舉型別結合mysql資料的使用
在我的學習過程中,我使用到了的列舉型別和資料庫配合,下面是使用過程。 public class TUser extends User implements Serializable { private static final long serialVersio
SQLServer之資料庫型別對應Java中資料型別
SQL Server 型別 JDBC 型別 (java.sql.Types) Java 語言型別 bigint BIGINT long timestamp binary
Java中String型別轉換成日期型別
Java中String型別轉換成資料庫中的日期型別,新增到資料庫 //建立sdf物件,指定日期格式型別 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //sdf將字串轉化成java.util.D
Java中包裝型別與基本資料型別的異同
基本資料型別: Java語言提供了八種基本型別: 六種數字型別(四個整數型,兩個浮點型),一種字元型別,還有一種布林型。 1、整數: 包括int,short,byte,long , 初始值為0 2、浮點型: float,double , 初始值為0.0 3、字
Java中BigInteger型別
BigInteger是java.math包提供的處理大整數型別,實現了大整數的儲存,四則運算,判斷素數的方法,求冪,求模,求逆元,求最大公約數等方法。本文主要分析下BigInteger對於大整數的儲存和幾個常用函式的實現。 toByteArray函式實現: public byte[] toB
Java中資料型別的轉換
/** * 資料型別的相互轉換 * */ public class DataTypeTranfer { public static void main(String[] args) { /** * 每個型別額轉換都有不止一種方式轉換 * 在我認為最方便的就是裝箱拆箱轉換。把
Java中的型別轉化
Java中的型別轉化 Object轉化為String java中Object轉String 轉載於:http://www.cnblogs.com/sp2012/archive/2012/02/21/2465693.html Object轉為String的
Mybatis框架--Ibatis框架踩坑01 -- Java中BigInteger型別欄位問題!
在Mybatis框架、 Ibatis框架中, 不支援Java中的 java.math.BigInteger 型別欄位, 支援 java.math.BigDecimal 型別欄位。若Java實體類中,使用 java.math.BigInteger 型別欄位,在
Java中資料型別及其之間的轉換
基本的資料型別 基本型別有以下四種: 1)int長度資料型別有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、 2)float長度資料型別有:單精度(32bits float)、雙精度(64bits double),J
JAVA中資料型別之間的轉換規則分為兩種
2018年11月02日 15:09:15 十四月 閱讀數:3 標籤: 基礎概念
Java中boolean型別佔用多少個位元組嗎?
是一位,還是一位元組還是四位元組?欲知詳情,請看下文。 文章源自(轉載學習分享,侵刪):【馬劍威-你真的知道Java中boolean型別佔用多少個位元組嗎?】 為什麼要問這個問題,首先在Java中定義的八種基本資料型別中,除了其它七種型別都有明確的記憶體佔用位元組數外,就boolean型別沒