java学习笔记(二) ----基本数据类型应用
&和&&和区别,&&如果等式一边不成立就短路,&不管&左边的成不成立,右边等式都执行
&&短路与, ||短路或
| 或,表达式两边不管结果是什么,都进行运算
float f=3.5 错,因为3.5是double型
float f=3.5f 对
所有的byte型,short型,char型的值在表达式中将被提升为int型
注意:在一个表达式中,以出前最高类型的变量或数值为准,它的下的变量或数值都会被转化为,该变量或数值的类型
byte a=1;
a=a+1; 错因为a+1的结果已经被转换为int型了,所以a不能接收int型
System.out.println ('a'+1); 输出结果为98,因为这里'a'被自动提升为整型了。
System.out.println(""+'a'+1); 输出结果为a1,因为一个表达式中,如果有字符串用+号和其它数据类型进行相加,那么实际上是字符串与其它内容进行相连,生成一个新的字符串。
int x=5,y;
y=x%-2; // y=1
y=-x%2 // y=-1
Switch
switch中的选择器必须是int或char型,如:
float i = 2;
switch ( i )//将出错,因为i不是int或char之一
Math.random()的输出范围是[0, 1]
算法1:
某个培训中心要为新到的学员安排房间,假设共有x个学员,每个房间可以住6人,让你用一个公式来计算他们要住的房间数?
答案:(x+5)/6。这种算法还可以用在查看留言板的分页显示上:其中x是总共的留言数,6是每页显示的留言数,结果就是总共有多少页。
//如果是x/6+1的话,那么如果是30的时候就出现问题了,应该是5个,但用这个算法就是6个了
算法2:
x=0;
while(true)
{ x=(x+1)%10
System.out.println(x);
}
该算法实现0~9不断循环输出
--------------------------------------
instanceof 检查是否是类的对象
----------------------------------------
<<左移 右面补0 (左移1位是*2)
>>右移 如果左面被移出位,原来为0就补0,原来为1就补1 (右移一位是/2)
>>>无符号右移 不管最高位原来为多少,始终补0
对抵于int型的操作数将先自动转换为int型再移位(byte,short,char)
对于int型的移位不能超过32位,a>>33和a>>1结果是一样的,a>>32结果和原来一样
long型移位不能超过64位
y=10
System.out.println(Integer.toHexString(y));
Integer.toHexString(y) 将整数y转换为十六进制数
System.out.println(Float.intBitsToFloat(0x50000000)); //打印16进制数为50000000的浮点数。
//整数类型,最大能移31位,如果大于31位,就对移位的数取模,然后再移,假如a>>32位相当于a移0位,而a>>33位,相当于a移1位, 因为整形有32位
长整形移位不能超过64位
移位不会改变变量本身的值。如a>>1;在一行语句中单独存在,毫无意义
x<<2 相当于 x*(2的2次方)
x>>2 相当于 x/(2的2次方)
---------------------------
for (i=0;i<10;i++)
{ System.out.println(i);}
for 语句可以写成
int i=0;
for (;i<10;)
{ System.out.println(i);
i++;
}
还可写成
int i=0;
for (;;)
{ if (i>=0)
break;
System.out.println(i);
i++;
}
-------------
st:while(true)
{ while(true)
{ break st; //跳出外面的while循环
}
}
-----------------------------
数组在定义后默认的初值为0
int x[]=new int[5];
int x[]={3,4,5} //给数组赋初值
int x[]=new int[]{3,4,5}
int a[5]; //声明数组时,不能指定其长度,编译时将出错
------------
int[] x;
x=new int[100];
x=null;
x[0]=2; //运行时出错,因为x已经指向null了,所以x已经不指向堆空间了,就不能再给x[0]赋值了
System.out.println(x.length); // 求x数组的长度
int[][] xx={{3,2,7},{1,5},{6}}; //二维数组初使化
------------------
int[] x=new int[]{3,1,2,4};
java.util.Arrays.sort(x); //对x数组进行排序
int[] y=new int[10]; // 这个y必须被初使化,下面才能考贝
System.arraycopy(x,0,y,0,4); //从x的第0个元素开始,考到,y的第0个元素开始,考x中的4个元素。
java学习笔记(二) ----基本数据类型应用相关推荐
- Java学习笔记二:数据类型
Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...
- Java学习笔记二十五:Java面向对象的三大特性之多态
Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...
- JAVA学习笔记(二十)- 集合 List
ArrayList 集合 /** ArrayList,实现List接口* 声明数组时必须指定数组中元素的类型,可以是基本数据类型,也可以是引用数据类型* 声明集合时可以不指定其元素的类型,元素类型默认 ...
- Java学习笔记二十:Java中的内部类
Java中的内部类 一:什么是内部类: (1).什么是内部类呢? 内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. (2).那为什么要将一个类定 ...
- Java学习笔记二十二:Java的方法重写
Java的方法重写 一:什么是方法的重写: 如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法. 语法规则 返回值类型.方法名.参数类型及个数都要与父类继承的 ...
- java actionscript_ActionScript(对比Java)学习笔记二
27.ActionScript中的组件对象: 类似于Java中的Swing组件对象,ActionScript提供了很多组件!! (可以自行查看官网提供的组件列表学习,也可擦看已经拥有的flex+3+c ...
- Java学习笔记(基本数据类型和变量命名规则)
java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...
- JAVA 学习笔记 (二)
Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一 ...
- java学习笔记(十一)基本数据类型的对象包装类
基本数据类型的对象包装类 --------------------------- 基本数据类型 包装类 boolean Boolean byte ...
最新文章
- C++Primer ch4笔记
- 三星android5.0基带,三星首款5G手机没用高通!问题来了:5G基带哪家强?
- 口袋中的xmind如何添加优先等级图标
- 基于 Spring Security OAuth2和 JWT 构建保护微服务系统
- Windows驱动程序的加载
- Spring Boot 2.0.0.M7 生产环境部署
- 人之间的尊重是相互的_人与人之间的感情,最基本的是相互尊重
- keras中一个LSTM的具体例子
- 【HDU1665】That Nice Euler Circuit(欧拉公式+点在线段上判断(不在端点)+线段规范相交)
- Linux上获取软件程序包
- 多渠道归因分析(Attribution):python实现Shapley Value(四)
- php txt替换,文本替换专家批量替换TXT文本内容教程
- 交大网院计算机第五次作业答案,2015交大网院计算机第三次作业word操作题
- 如何实现:每天收集数据到表格,但只看到当天的数据?
- pg_squeeze安装及简单使用
- 电能质量监测装置及系统
- 小程序input textarea 对齐问题
- 渲染器引入KaTeX 模块——实现实时渲染
- idea突然打不开了
- seaborn中的色板02详解