变量和数制进制之间的相互转换以及八大基本数据类型
2014-11-19 22:41
597 查看
*
变量:
*
它代表了内存里的一块存储区域,这块内存区域的值是可以变化的
*
当变量的值变化时,变的不是以前指向的内存,而是内存的二进制表现形式
* 1、变量的声明格式:
*
变量类型 变量名=变量值;
*
注意:变量可以只声明,不赋值
* 2、变量的创建位置:
*
类体内函数外---全局变量
*
函数内---局部变量
*
静态代码块和构造代码块内的变量也可以看作局部变量
* 3、变量命名时,不要重名,并非必须(涉及内存)
* 4、变量的类型:
*
基本的数据类型
*
对象类型
*
数组
*
内部类--(严格意义上讲,不属于变量类型,但是它的使用和变量很相似)
*
*/
public
class A_varDemon {
public
static byte
b=1;
public
static void test(){
b=2;
}
public
static void main(String[] args){
test();
}
}
*
进制:十进制--89
*
二进制:电信号--两种状态 001001
*
进制转换
*
十进制转二进制
* 17----10001
*
转换方式,将十进制数据除以2,直到0,取余数的反序
*
二进制转十进制
* 1、从右到左,计算每个二进制位的对应的十进制数用
* 2^(n-1)*对应的标记
* 2、将这些数字相加
*
二进制的缺点:不容易表示
*
八进制---将三个二进制位和为一位
*
十六进制---将四个二进制位和为一位
*
十进制和八进制之间的转换:
*
除以8,取余,反序
*
十六进制和十进制转换
*
除以十六去余数
*
*
大进制转小进制,直接除以小进制取余数,反序
*
小进制转大进制,转成十进制,再转相应的进制
*
*/
public
class A_VarDemon {
//在Java中直接输出八进制和十六进制数字
public
static void test(){
//直接输出十进制数字
int i=100;
System.out.println("十进制:"+i);
//Java中的八进制数字10,8进制的数以0开头
int j=010;
System.out.println("8进制的010代表的十进制:
"+j);
//Java中的十六进制数字,十六进制以0x开头
int k=0xe;
System.out.println("十六进制0xe代表的十进制:"+k);
}
public
static void main(String[] args){
test();
}
}
*
二进制的正负数转换
*
二进制的表示形式:分为有符号表现形式和无符号表现形式
*
*
无符号表现形式:只有正数和0,没有负数
*
有符号表示形式:
* 1.包括正数负数和0
* 2.二进制中从左到右的第一位,被解析为标志位,如果是1,代表负数,否则是正数
*
*
变量类型:
*
当声明一个变量类型时候,编译器就会给这个变量分配一个固定长度的内存,比如byte类型--长度是8个二进制位。
*
*
以byte为例,进行正负数转换
* 1.写出正数的表现形式
* 0000 1010
* 2.反码
* 1111 0101
* 3.反码加1,从右到左
* 1111 0110
*
* 14---负数的表现形式
* 0000 1110
* 1111 0001
* 1111 0010
*
*
将二进制正数转换成负数
* 1.1111 0010
* 2.减1
* 1111 0001
* 3.反码
* 0000 1110
*1100
*0111 11
*00011
*10010 17
*/
public
class B_VarDemon {
public
static byte
b=10;
public
static void test(){
//调用JDK内置的类,实现十进制转二进制
String str=Integer.toBinaryString(-14);
System.out.println(str);
}
public
static void main(String[] args){
test();
}
}
*************************
面试题********************************
*
八大基本数据类型
*
整数型:Byte short
intlong
*
浮点型:float double
*
字符型:char
*
布尔型:boolean
*
*
各个数据类型分配的内存空间大小
* byte 8个二进制位
1个字节最大值:127 2^7-1 最小值:-128
2^7
* short 16个二进制位 2个字节最大值:2^15-1
最小值:2^15
* int 32个二进制位 4个字节
* long 64个二进制位 8个字节
*
双精度
* float 32个二进制位 4个字节
* double 64个二进制位 8个字节
* char 16个二进制位---字符---无符号的
* boolean
标记--只有两个值true或false
*
* String===字符串
* 1.重要,最常用
* 2.它不属于基本数据类型--类类型
*
*/
public
class A_VarDemon {
public
static byte
a=1;
public
static short
b=2;
public
static int
c=3;
public
static long
d=4;
public
static long
d2=100000000000L;
public
static float
e=5.0F;//当小数定义为float类型的时候,在后面必须写一个F或者f;告诉编译器,不要使用默认的数据类型
public
static double
f=0.1;
//第一种赋值
public
static char
g='1';
//第二种赋值
public
static char
g2=100;
public
static boolean
h=true;
public
static void mian(String[] args){
//在Java中当编写一个常量,由于没有声明常量类型,但系统又要分配一块内存空间,这个内存空间有默认值,整形的默认值是int,浮点型是double型
//所以,声明float类型的数据时,变量值被系统默认为double类型的,因此需要显示的加F或者f后缀,告知编译器不使用默认的分配类型,而long类
//型的声明的数据赋值,如果值大于了int类型的取值范围,那么也需要使用L或l做标记,告知编译器不可以使用默认的int型
System.out.println(12);
}
}
packagenet.xadaily.a.var;
public
class A_VarTest1 {
public
static int
a=34;
public
static int
b=5;
public
static void test(){
System.out.println("a+b="+(a+b));
System.out.println("a*b="+(a*b));
System.out.println("a-b="+(a-b));
System.out.println("a/b="+(a/b));
System.out.println("a%b="+(a%b));
System.out.println("++a="+(++a));
System.out.println("a--="+(b--));
}
public
static void main(String[] main){
test();
}
}
输出结果:
a+b=39
a*b=170
a-b=29
a/b=6
a%b=4
++a=35
a--=5
public
class A_VarTest2{
public
static int
a=22;
public
static int
b=33;
public
static void test(){
int sum=0;
for(int i=1;i<=a;i++)
{
switch(i){
case 22: System.out.println("循环结束");break;
}
sum=sum+a;
}
System.out.println("22个a="+sum);
int j=0;
while(j<b)
j++;
System.out.println("j="+j);
}
public
static void testif(){
if(a>b)
System.out.println("a大于b");
else
System.out.println("a小于b");
}
public
static void main(String[] args){
test();
testif();
}
}
变量:
*
它代表了内存里的一块存储区域,这块内存区域的值是可以变化的
*
当变量的值变化时,变的不是以前指向的内存,而是内存的二进制表现形式
* 1、变量的声明格式:
*
变量类型 变量名=变量值;
*
注意:变量可以只声明,不赋值
* 2、变量的创建位置:
*
类体内函数外---全局变量
*
函数内---局部变量
*
静态代码块和构造代码块内的变量也可以看作局部变量
* 3、变量命名时,不要重名,并非必须(涉及内存)
* 4、变量的类型:
*
基本的数据类型
*
对象类型
*
数组
*
内部类--(严格意义上讲,不属于变量类型,但是它的使用和变量很相似)
*
*/
public
class A_varDemon {
public
static byte
b=1;
public
static void test(){
b=2;
}
public
static void main(String[] args){
test();
}
}
*
进制:十进制--89
*
二进制:电信号--两种状态 001001
*
进制转换
*
十进制转二进制
* 17----10001
*
转换方式,将十进制数据除以2,直到0,取余数的反序
*
二进制转十进制
* 1、从右到左,计算每个二进制位的对应的十进制数用
* 2^(n-1)*对应的标记
* 2、将这些数字相加
*
二进制的缺点:不容易表示
*
八进制---将三个二进制位和为一位
*
十六进制---将四个二进制位和为一位
*
十进制和八进制之间的转换:
*
除以8,取余,反序
*
十六进制和十进制转换
*
除以十六去余数
*
*
大进制转小进制,直接除以小进制取余数,反序
*
小进制转大进制,转成十进制,再转相应的进制
*
*/
public
class A_VarDemon {
//在Java中直接输出八进制和十六进制数字
public
static void test(){
//直接输出十进制数字
int i=100;
System.out.println("十进制:"+i);
//Java中的八进制数字10,8进制的数以0开头
int j=010;
System.out.println("8进制的010代表的十进制:
"+j);
//Java中的十六进制数字,十六进制以0x开头
int k=0xe;
System.out.println("十六进制0xe代表的十进制:"+k);
}
public
static void main(String[] args){
test();
}
}
*
二进制的正负数转换
*
二进制的表示形式:分为有符号表现形式和无符号表现形式
*
*
无符号表现形式:只有正数和0,没有负数
*
有符号表示形式:
* 1.包括正数负数和0
* 2.二进制中从左到右的第一位,被解析为标志位,如果是1,代表负数,否则是正数
*
*
变量类型:
*
当声明一个变量类型时候,编译器就会给这个变量分配一个固定长度的内存,比如byte类型--长度是8个二进制位。
*
*
以byte为例,进行正负数转换
* 1.写出正数的表现形式
* 0000 1010
* 2.反码
* 1111 0101
* 3.反码加1,从右到左
* 1111 0110
*
* 14---负数的表现形式
* 0000 1110
* 1111 0001
* 1111 0010
*
*
将二进制正数转换成负数
* 1.1111 0010
* 2.减1
* 1111 0001
* 3.反码
* 0000 1110
*1100
*0111 11
*00011
*10010 17
*/
public
class B_VarDemon {
public
static byte
b=10;
public
static void test(){
//调用JDK内置的类,实现十进制转二进制
String str=Integer.toBinaryString(-14);
System.out.println(str);
}
public
static void main(String[] args){
test();
}
}
*************************
面试题********************************
*
八大基本数据类型
*
整数型:Byte short
intlong
*
浮点型:float double
*
字符型:char
*
布尔型:boolean
*
*
各个数据类型分配的内存空间大小
* byte 8个二进制位
1个字节最大值:127 2^7-1 最小值:-128
2^7
* short 16个二进制位 2个字节最大值:2^15-1
最小值:2^15
* int 32个二进制位 4个字节
* long 64个二进制位 8个字节
*
双精度
* float 32个二进制位 4个字节
* double 64个二进制位 8个字节
* char 16个二进制位---字符---无符号的
* boolean
标记--只有两个值true或false
*
* String===字符串
* 1.重要,最常用
* 2.它不属于基本数据类型--类类型
*
*/
public
class A_VarDemon {
public
static byte
a=1;
public
static short
b=2;
public
static int
c=3;
public
static long
d=4;
public
static long
d2=100000000000L;
public
static float
e=5.0F;//当小数定义为float类型的时候,在后面必须写一个F或者f;告诉编译器,不要使用默认的数据类型
public
static double
f=0.1;
//第一种赋值
public
static char
g='1';
//第二种赋值
public
static char
g2=100;
public
static boolean
h=true;
public
static void mian(String[] args){
//在Java中当编写一个常量,由于没有声明常量类型,但系统又要分配一块内存空间,这个内存空间有默认值,整形的默认值是int,浮点型是double型
//所以,声明float类型的数据时,变量值被系统默认为double类型的,因此需要显示的加F或者f后缀,告知编译器不使用默认的分配类型,而long类
//型的声明的数据赋值,如果值大于了int类型的取值范围,那么也需要使用L或l做标记,告知编译器不可以使用默认的int型
System.out.println(12);
}
}
packagenet.xadaily.a.var;
public
class A_VarTest1 {
public
static int
a=34;
public
static int
b=5;
public
static void test(){
System.out.println("a+b="+(a+b));
System.out.println("a*b="+(a*b));
System.out.println("a-b="+(a-b));
System.out.println("a/b="+(a/b));
System.out.println("a%b="+(a%b));
System.out.println("++a="+(++a));
System.out.println("a--="+(b--));
}
public
static void main(String[] main){
test();
}
}
输出结果:
a+b=39
a*b=170
a-b=29
a/b=6
a%b=4
++a=35
a--=5
public
class A_VarTest2{
public
static int
a=22;
public
static int
b=33;
public
static void test(){
int sum=0;
for(int i=1;i<=a;i++)
{
switch(i){
case 22: System.out.println("循环结束");break;
}
sum=sum+a;
}
System.out.println("22个a="+sum);
int j=0;
while(j<b)
j++;
System.out.println("j="+j);
}
public
static void testif(){
if(a>b)
System.out.println("a大于b");
else
System.out.println("a小于b");
}
public
static void main(String[] args){
test();
testif();
}
}
相关文章推荐
- java基本数据类型、对应的封装类以及字符串之间的相互转换
- 基本数据类型与其对应的封装类之间的相互转换
- 基本类型与字符串以及进制之间转换
- java中基本数据类型的包装类以及基本数据类型之间的转换
- Java中的变量、基本数据类型及它们之间的转换
- JAVA第二天变量补码进制转换基本数据类型
- Java 基本数据类型和Sting之间的相互转换
- daliu_it java基础笔记之 变量和数据类型以及数据类型之间的转换以及转义字符
- C/C++ 基本数据类型之间的相互转换 int / char / string / vector windows与linux通用
- Java 基本数据类型与其包装数据类型以及字符串(String)之间的转换问题
- 包装类、基本数据类型及String类之间的相互转换
- Java的基本数据类型之间的转换以及面试题
- 基本数据类型之间的相互转换
- java 基本数据类型之间的转换
- JAVA变量类型之间的相互转换
- 新手学习PHP之-变量数据类型之间的转换
- Android数据类型之间相互转换系统介绍
- VC数据类型之间的相互转换
- C# 基本数据类型和Byte [] 相互转换
- jsp中的数据类型以及相互转换