java基础语法知识(笔记)——(一)基本变量类型,循环,日期类

• 基本变量类型的大小
       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);


原文地址:https://www.cnblogs.com/benwumumu/p/7048549.html