变量和数制进制之间的相互转换以及八大基本数据类型
来源:互联网 发布:推荐算法的稀疏性问题 编辑:程序博客网 时间:2024/06/09 14:01
* 变量:
* 它代表了内存里的一块存储区域,这块内存区域的值是可以变化的
* 当变量的值变化时,变的不是以前指向的内存,而是内存的二进制表现形式
* 1、变量的声明格式:
* 变量类型 变量名=变量值;
* 注意:变量可以只声明,不赋值
* 2、变量的创建位置:
* 类体内函数外---全局变量
* 函数内---局部变量
* 静态代码块和构造代码块内的变量也可以看作局部变量
* 3、变量命名时,不要重名,并非必须(涉及内存)
* 4、变量的类型:
* 基本的数据类型
* 对象类型
* 数组
* 内部类--(严格意义上讲,不属于变量类型,但是它的使用和变量很相似)
*
*/
publicclass A_varDemon {
publicstatic byteb=1;
publicstatic void test(){
b=2;
}
publicstatic void main(String[] args){
test();
}
}
* 进制:十进制--89
* 二进制:电信号--两种状态 001001
* 进制转换
* 十进制转二进制
* 17----10001
* 转换方式,将十进制数据除以2,直到0,取余数的反序
* 二进制转十进制
* 1、从右到左,计算每个二进制位的对应的十进制数用
* 2^(n-1)*对应的标记
* 2、将这些数字相加
* 二进制的缺点:不容易表示
* 八进制---将三个二进制位和为一位
* 十六进制---将四个二进制位和为一位
* 十进制和八进制之间的转换:
* 除以8,取余,反序
* 十六进制和十进制转换
* 除以十六去余数
*
* 大进制转小进制,直接除以小进制取余数,反序
* 小进制转大进制,转成十进制,再转相应的进制
*
*/
publicclass A_VarDemon {
//在Java中直接输出八进制和十六进制数字
publicstatic 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);
}
publicstatic 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
*/
publicclass B_VarDemon {
publicstatic byteb=10;
publicstatic void test(){
//调用JDK内置的类,实现十进制转二进制
String str=Integer.toBinaryString(-14);
System.out.println(str);
}
publicstatic 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.它不属于基本数据类型--类类型
*
*/
publicclass A_VarDemon {
publicstatic bytea=1;
publicstatic shortb=2;
publicstatic intc=3;
publicstatic longd=4;
publicstatic longd2=100000000000L;
publicstatic floate=5.0F;//当小数定义为float类型的时候,在后面必须写一个F或者f;告诉编译器,不要使用默认的数据类型
publicstatic doublef=0.1;
//第一种赋值
publicstatic charg='1';
//第二种赋值
publicstatic charg2=100;
publicstatic booleanh=true;
publicstatic void mian(String[] args){
//在Java中当编写一个常量,由于没有声明常量类型,但系统又要分配一块内存空间,这个内存空间有默认值,整形的默认值是int,浮点型是double型
//所以,声明float类型的数据时,变量值被系统默认为double类型的,因此需要显示的加F或者f后缀,告知编译器不使用默认的分配类型,而long类
//型的声明的数据赋值,如果值大于了int类型的取值范围,那么也需要使用L或l做标记,告知编译器不可以使用默认的int型
System.out.println(12);
}
}
packagenet.xadaily.a.var;
publicclass A_VarTest1 {
publicstatic inta=34;
publicstatic intb=5;
publicstatic 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--));
}
publicstatic void main(String[] main){
test();
}
}
输出结果:
a+b=39
a*b=170
a-b=29
a/b=6
a%b=4
++a=35
a--=5
publicclass A_VarTest2{
publicstatic inta=22;
publicstatic intb=33;
publicstatic 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);
}
publicstatic void testif(){
if(a>b)
System.out.println("a大于b");
else
System.out.println("a小于b");
}
publicstatic void main(String[] args){
test();
testif();
}
}
- 变量和数制进制之间的相互转换以及八大基本数据类型
- Java 基本数据类型和Sting之间的相互转换
- 基本数据类型之间的相互转换
- C实现数制之间的相互转换
- java基本数据类型、对应的封装类以及字符串之间的相互转换
- 基本数据类型和字符串的相互转换
- daliu_it java基础笔记之 变量和数据类型以及数据类型之间的转换以及转义字符
- 基本数据类型、包装类、String类型之间的相互转换
- 数据类型之间的相互转换
- 字符串和基本数据类型之间的转换
- 数制和码制及其之间的转换关系
- 数制之间的转换
- 字符串和基本数据类型之间的相互转化
- Java的基本数据类型之间的转换以及面试题
- 变量数据类型之间的转换
- OC字符串和 C 语言基本数据类型的相互转换
- java byte[] 和 double以及所有数据类型的相互转换
- 如何实现 基本数据类型 与 基本数据封装类 之间的相互转换
- windows8 8.1 安装完 ubuntu无法挂载 ntfs分区 解决方法
- 常用网址收集
- 使用ggplot2画图
- JS笔记
- Yii 打印Sql
- 变量和数制进制之间的相互转换以及八大基本数据类型
- 微软connect教程系列—EntityFramework7(三)
- GraphLab:新的面向机器学习的并行框架
- 让你真正了解chmod和chown命令的用法
- Swing动画之游戏角色
- Java单元测试(Junit+Mock+代码覆盖率)
- Spring--ApplicationContext和BeanFactory区别
- guava处理字符串与List之间,字符串与map之间的转换
- windows下使用virtualenv安装scrapy