我的Java知识复习回顾笔记

  1 public class JavaSE {
  2
  3     public static void main(String[] args) {
  4       /*
  5        * JDK JRE JVM
  6        * 注释
  7        * 标识符:给变量、类、方法命名
  8        * 首字符只能以字母、下划线、$开头
  9        * 其他部分可以是字母、下划线"_"、$、数字的任意组合
 10        * 区分大小写,且长度无限制
 11        * 不可以是Java关键字
 12        * 可以是中文
 13        *
 14        * java内部采用了Unicode字符集(2个字节表示一个字符),universal
 15        * 8种基本类型:(数值型)byte、int、short、long、(字符型)char、(浮点型)double、float、(布尔型)boolean
 16        * 数值型:byte(1个字节 -128~127)、short(2字节 -2^15~2^15-1 -32768~32767)
 17        * int(4个字节 -2^31~2^31-1)、long(8字节 -2^63~2^63-1)
 18        * int a1 = 10;(十进制)int a2 = 010;(八进制)int a3 = oxf;(十六进制)
 19        * 十-->二:Integer.toBinaryString(a1);
 20        * 十-->八:Integer.toOctalString(a1);
 21        * 十-->十六:Integer.toHexString(a1);
 22        * byte a4 = 10;short a5 = 100;long a6 = 1000;
 23        * 如果数据的大小没有超过byte/short/long的表述范围,则可以自动转型
 24        * long a7 = 1000L;
 25        * 浮点数:double(默认)、float
 26        * double d = 3.14; float = 0.1f;
 27        * float(4字节):-3.403E38~3.403E38
 28        * double(8字节):-1.798E308~1.798E308
 29        * 使用总结:浮点数存在舍入误差,很多数字不能精确表示。
 30        * 由于有无限小数,我们不可能用有限的数来表示无限的数,只能尽量精确。
 31        * 如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal
 32        * 字符型:char(2个字节 0~2^16(65536))char类型用来表示在Unicode编码表中的字符
 33        * Unicode编码被设计用来处理各种语言的所有文字,它占2个字节,可以允许有65536个字符
 34        * Unicode具有从0到65535之间的编码,他们通常用从’\u0000’到’\uFFFF’之间的十六进制值来表示(前缀为u表示Unicode)
 35        * ASCII码占1个字节,可允许有128个字符,是Unicode编码表中前128个字符。
 36        * char是在0~65535范围,运算时直接当作整数来运算。
 37        * 可以把0~65535之间的整数直接转型为char
 38        * 转义字符:\t、\n、\r、\\、\b、\‘、\‘‘
 39        * 布尔类型:boolean(1位、不是1个字节,一个字节有8位,只有两个值true和false)
 40        *
 41        * 自动类型转化和强制类型转化
 42        * 自动类型转化规则:(1)byte-->short-->int-->long
 43        * (2)无数据丢失:char-->int  float、int-->double
 44        * (3)可能丢失精度:long-->float、double  int-->float
 45        */
 46
 47         //打印a-z
 48         char c = ‘a‘;
 49         for(int i = 0; i < 26; i++) {
 50             char temp = (char) (c + i);
 51             System.out.print(temp);
 52         }
 53
 54         //测试强制转换
 55         int a = -100;
 56         char b = (char)a;
 57         System.out.println(b);//?,出现无意义的数
 58         System.out.println("---------------------");
 59
 60         //表达式中的类型提升问题
 61         int i1 = 3;
 62         long lo = 4;
 63         double dou = 5.3;
 64         //做所有的二元运算符(+-*/%都会有类型提升问题)
 65         int i2 = (int)(lo+dou);
 66         float f1 = (float)(i1+lo);
 67
 68         int money = 1000000000;//10亿
 69         int years = 20;
 70         //long total = (long)(money*years);//返回的是负数,超过其表示数值范围,要先进行类型转换
 71         long total = (long)money * years;
 72         System.out.println(total);
 73         System.out.println("---------------------");
 74
 75         //一个人70年心跳多少次
 76         long times = 70L*60*24*366*70*60;//最好将long类型放在最前面,以防前面的数相乘容易溢出
 77         System.out.println(times);
 78
 79         //JDK7新特性:下划线分隔符
 80         int i3 = 0b0000_0000_0000_0011;//3,如果没有0b,则是八进制数9
 81         int i4 = 1_1234_1234;//112341234
 82         System.out.println(i3);
 83         System.out.println(i4);
 84
 85         //Java语言支持如下运算符:
 86         /*算术运算符:+、-、*、/、%、++、--、
 87          *赋值运算符:=
 88          *关系运算符:>、<、>=、<=、==、!=、instanceof
 89          *逻辑运算符:&&、||、!
 90          *位运算符:&、|、^、~、>>、<<、>>>
 91          *条件运算符:?:
 92          *扩展赋值运算符:+=、-=、*=、/=
 93         */
 94
 95       //debug调试
 96       /**
 97        * 控制语句:顺序、选择、循环
 98        * if语句、if/else语句、switch/case/default语句
 99        * JDK1.7新特性:switch case:"字符串"可以编写
100        */
101         double d = Math.random();
102         int e =1 + (int)(d*6);//强制转换的数结果取整数部分
103         System.out.println(e);
104         if(e > 3) {
105             System.out.println("大象!");
106         } else {
107         System.out.println("丽丽");
108         }
109     }
110 }
时间: 2024-10-13 08:03:12

我的Java知识复习回顾笔记的相关文章

Java知识复习(四)

最近准备跳槽,又要好好复习基本知识了.过了个年,前面刚接触的springboot也只能先放放了.就先把自己复习了哪些罗列出来吧. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象.还是都不用. 在比较时先调用hashCode方法,如果不相同,证明不相等. 如果相同,再调用equals方法,如果equals方法相同,证明相等,不相同,证明不相等. ==:主要用在基本数据类型及引用 Equals:主要

Java知识复习(二)

如何格式化日期? SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date dat=new Date(); //把日期转化为字符串 String str=sdf.format(dat); System.out.println(str); //将字符串转化为日期 Java.util.Date d1=sdf.parse("yyyy-mm-dd"); String s = new Stri

Java知识复习(三)

Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象.还是都不用. 在比较时先调用hashCode方法,如果不相同,证明不相等. 如果相同,再调用equals方法,如果equals方法相同,证明相等,不相同,证明不相等. ==:主要用在基本数据类型及引用 Equals:主要是对象或对象引用的比较. 集合中是否包含某一个元素用contains来判断. &和&&的区别? &:与: 左

Java知识系统回顾整理01基础01第一个程序01JDK 安装

一.首先第一步看JDK配置成功后的效果 点WIN键->运行(或者使用win+r) 输入cmd命令 输入java -version?注:?-version是小写,不能使用大写,java后面有一个空格 配置成功后,会出现版本信息?java version "1.8.0_65" 注:?这是配置完成后的效果,在配置完成之前是看不到这个效果的 ? ? ? ? 二.下载安装JDK 可以去JDK官网下载,按照官方指导一步步安装 或者按照本文提供的免安装版的方式,下载免安装版本并解压.本文免安装

Java知识系统回顾整理01基础01第一个程序04创建Eclipse项目

一.为Eclipse设置桌面快捷方式图标 ? ? ? ? 二.双击桌面快捷方式打开Eclipse ? ? 三.选择工作区 使用在命令行Hello World中的项目目录e:\project 除了第一次启动eclipse的时候能够选择工作区之外,还可以在启动之后,通过如下命令进行工作区的选择:? File -> Switch Workspace 选择e:\project作为工作区 ? ? 四.创建Java项目 如果是第一次创建Java项目 File->New->Other->Java

Java知识系统回顾整理01基础03变量01变量定义

定义: 变量:用来命名一个数据的标识符 ? ? 一.什么是变量? 用具体实例定义变量 变量的定义是: 用来命名一个数据的标识符 1949 这是一个数字,代表某年 如果要命名这个数字,在java里就会写成: int year = 1949; ? ? int?是数据类型,表示是整数 year?是一个标识符 =?是赋值操作符 1949?是一个数字类型的值 ;?表示该行结束 ? ? year 这个标识符就是一个变量,它代表1949这个值 public class HelloWorld { ????pub

Java知识系统回顾整理01基础02面向对象01类和对象

一.面向对象实例--设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物 类: 英雄(Hero) 状态: 名字, 血量,护甲,移动速度 ? ? 注:?本例用到了3种数据类型 分别是 String(字符串),float(浮点数), int(整数) 注:?这个类没有主方法,不要试图运行它. 并不是所有的类都是有主方法的. ? ? ? ?

Java知识系统回顾整理01基础05控制流程03 while

while和do-while循环语句 一.while:条件为true时 重复执行 只要while中的表达式成立,就会不断地循环执行 ? ? public class HelloWorld { ????public static void main(String[] args) {??????? ????????//打印0到4???? ????????int i = 0; ????????while(i<5){ ????????????System.out.println(i); ????????

Java知识系统回顾整理01基础06数组07数组工具类Arrays

一.Arrays简介 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能. 大大提高了开发人员的工作效率. ? ? 二.Arrays提供的数组复制方法 与使用System.arraycopy进行数组复制类似的, Arrays提供了一个copyOfRange方法进行数组复制. 不同的是System.arraycopy,需要事先准备好目标数组,并分配长度. copyOfRange 只需要源数组就就可以了,通过返回值,就能够得到目标数组了. 除此之外,需要注意的是 copyOfRan