• 基本变量类型的大小
char --- 2字节 (1个字符)
int --- 4字节
float --- 6字节
double--- 8字节
(8位(bit)=1字节(byt),2字节=1字符,1024字节=1兆(kb))
ps:
1.把小类型的数据存放到大类型数据中会直接转换过去(隐 式转换)
2.把大类型的数据存放到小类型的数据中必须使用强制转换 ex:int kk = (int)10.6;
3.表达式中最后的数据结果的类型取决于表达式中最大的数据类型
4.在char与int类型中的一定范围类+/-65535可以直接互相转换,不需要强转(0~65535)
•eclipse 快捷键:
ctrl+shift+o 代码已有,导入引用的类包alt+/ 代码提示
alt+shift+l 补全代码左值
•Scanner:
next()方法不要氢气的使用回车,否则容易造成回车符被录入到输入信息中,在代码开发中通常不会使用该类
nextInt()必须输入对应的数据类型,否则会发生异常
ex:
//创建Scanner类
Scanner scan = new Scanner(System.in);
//接收用户在控制台的数据
int age = scan.nextInt();
System.out.println(age);
•数据运算符
1. 运算等级:[] () {} . ! ++ --
+ - * / %
> < >= <= == !=
&& & || |
+= -= *= /= %=
=
2. 运算符说明
1.&与&&的区别
&&短路运算符,在第一条件为假的情况下,后面的条件不再进行运算
&不管前面条件是何种状态后面的条件继续进行运算
在开发的时候通常使&&,程序员会把最容易为false的条件放在第一位上用以加快程序运行速度,
在使用 || 时,通常把最容易为true的条件放在第一位上
3. C++ 与 C+=1 与 C=C+1 的区别
C++计算机会直接对C上的变量进行加法运算。
C+=1计算机会开辟一个temp空间把原来C中的值拿出后对temp进行加法运算后再放回C空间中。
C=C+1除了要开辟temp空间外,还需要开辟原C空间的副本,把最后在副本中运算的结果再保存回C空间中,所以相对而言C=C+1在内存中的操作最复杂,耗时也最多
建议在开发时尽量使用C++
•控制流程
1. if
package st.demo;
import java.util.Scanner;
/**
* 人生的选择
* @version 1.0
* @since JDK1.7
* @author cm
*
*/
public class Demo {
public static void main(String[] args) {
Scanner opt = new Scanner(System.in);
System.out.println("你选择哪条路?");
System.out.println("1.高中+艺术学校(本科)");
System.out.println("2.3+4+动漫培训");
System.out.println("3.3+2+动漫培训");
System.out.println("4.中专+函授大专+动漫培训");
int select = opt.nextInt();
if(select ==1){
System.out.println("疯狂的学习提高初中成绩到600~650分");
System.out.println("高中时期找个美术专业的老师进行辅导");
System.out.println("普通基础课老师辅导基础课程");
}else if(select ==2){
System.out.println("认真学习保证成绩在550~600分");
System.out.println("高中好好学习就好,保持中游偏上的成绩就好");
System.out.println("上完后找个专业培训漫画机构培训");
}else if(select ==3){
System.out.println("保持现有状态,该做什么做什么,保持450~550分");
System.out.println("到高中后混混就好");
System.out.println("上完后找个专业培训漫画机构培训");
}else if(select ==4){
System.out.println("随便戳戳,400分");
System.out.println("上中专以后不要被开除了");
System.out.println("上完后找个专业培训漫画机构培训");
}else {
System.out.println("渣渣");
}
}
}
2. switch
多路分支语句,用于多点判断
在多路分支语句中可以接受short byte char int enum 和 Integer(JDK1.7后可以用String)
每个case后都要追加一个break,否则程序将继续执行该case后的所有节点
switch (select){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
case 3:
System.out.println("3");
break;
default:
System.out.println("最后的晚餐");
}
3.for while
while格式
初始化变量;
while (条件判断) {
步长;
}
ex:
int space = 1;
while(space <= 10) {
System.out.println("*");
space++;
}
通常使用在循环次数不明确,将用户条件情况决定循环次数
for 格式
for (初始化变量;条件判断;步长) {
}
ex:
for (int space = 1 ; space <= 10 ; space ++ ) {
System.out.println("*");
}
通常使用在明确知道循环此时的时候使用;如果把循环中的3个表达式都去除则代表无限循环
•随机数
Math.random() //将产生1个0~1之间的1个随机小数
//产生1个0~1000的随机整数
Random rand = new Random();
rand.nextInt(1000);
•退出循环的方式
break 退出当层循环,如果有多重嵌套循环break只能退出1重
return 实际上是结束方法,可以退出多重循环
continue退出当次循环
System.exit(0) 直接退出程序,再多循环因为程序的结束,所以循环也结束了
•日期操作
1.Date类
将获得当前系统时间,但是打印的格式为带时区的英文格式
Date d = new Date();
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Tue Feb 28 11:07:42 CST 2017
2. SimpleDateFormat类
根据用户选择的格式输出日期类型或字符串类型的日期格式
Date d = new Date();
SimpleDateFormat sdf =new SimpleDateFormat("yyyy‐MM‐dd");
//将日期类型转为指定的格式的字符串类型
System.out.println(sdf.format(d));
//将指定格式的字符串转为日期类型
System.out.println(sdf.parse("2016‐5‐4"));
3. Calendar 类
日期进行计算 以及 获取日期中的部分数据
Calendar cal = Calendar.getInstance();
//获取年
System.out.println(cal.get(Calendar.YEAR));
//获取月 注意月份从0开始代表1月
System.out.println(cal.get(Calendar.MONTH)+1);
//获取当前系统时间
System.out.println(cal.getTime());
//设置一个日期
Calendar cal1 = Calendar.getInstance();
cal1.set(2016, 11, 25);
//设置一个日期
Calendar cal2 = Calendar.getInstance();
cal2.set(2016, 11, 26);
//两个日期相减 ,思路是把日期都转为毫秒数
//减完后再转为天
long time1 = cal1.getTimeInMillis();
long time2 = cal2.getTimeInMillis();
long day = (time2‐time1)/(1000*3600*24);
System.out.println(day);