1. 程式人生 > >java中char型別

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就會給出報錯。

相關推薦

javachar型別轉換成int型別

PlanA: char ch = '9'; if (Character.isDigit(ch)){ // 判斷是否是數字 int num = Integer.parseInt(String.valueOf(ch)); System.out.println(num); }

javachar型別

編碼方式 java中的編碼方式是Unicode碼,char型別在java中被當做是整數進行儲存的,Unicode碼是一種無符號的編碼的方式 0~65535的編碼值可以表示幾乎所有的語言。定義的時候使用''單引號包括住。 ‘A’(65)~‘Z’(90) ;  'a'(97)

JavaString型別傳參和char陣列型別傳參的區別(疑問)

都說java只有一種引數傳遞值傳遞,傳基本型別是值的副本,傳引用型別是引用地址值的副本為什麼基於副本的兩種修改會有區別呢?面試題String str="hello"; char[] c = {'a','b','c'}; void change(String str,char[

javachar和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

javadouble型別的記憶體表示

轉自[http://bbs.csdn.net/topics/260050279] 浮點數儲存的位元組格式如下: 地址 +0 +1 +2 +3 內容 SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM 這裡 S 代表符號位,1是負,0是正 E 偏移1

Javachar佔用幾個位元組

在討論這個問題之前,我們需要先區分unicode和UTF。 unicode :統一的字元編號,僅僅提供字元與編號間對映。符號數量在不斷增加,已超百萬。詳細:[https://zh.wikipedia.org/zh-cn/Unicode] UTF :unicode轉

java資料型別

xl_echo編輯整理,交流學習請加1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 基本資料型別有一下四種 int資料型別有: byte(8bit, -128~127) short(16bit) int

JavaDate型別詳解

一、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

JavaString型別轉換成日期型別

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、字

JavaBigInteger型別

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 -- JavaBigInteger型別欄位問題!

       在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 標籤: 基礎概念

Javaboolean型別佔用多少個位元組嗎?

是一位,還是一位元組還是四位元組?欲知詳情,請看下文。 文章源自(轉載學習分享,侵刪):【馬劍威-你真的知道Java中boolean型別佔用多少個位元組嗎?】 為什麼要問這個問題,首先在Java中定義的八種基本資料型別中,除了其它七種型別都有明確的記憶體佔用位元組數外,就boolean型別沒