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 }

 利用Eclipse查看String.class源码:

 1 package com.cn.string;
 2
 3 public class TestString {
 4
 5     public static void main(String[] args) {
 6         String s = "abcd";
 7         String s1 = s;
 8         String s2 = new String("abc");
 9         String s3 = new String("abc");//堆
10         System.out.println(s.charAt(3));//d
11         System.out.println(s.equals(s1));//true
12         System.out.println(s2.equals(s3));//true
13         System.out.println(s2==s3);//false
14
15         String s4 = "abcde";
16         String s5 = "abcde";//常量池
17         System.out.println(s4.equals(s4));//true
18         System.out.println(s4==s5);//true
19         System.out.println(s4.indexOf('a'));//0
20         String s6 = s5.substring(0,2);
21         System.out.println(s6);//ab
22         String s7 = s4.replace('e' , '*');
23         System.out.println(s7);//abcd*
24
25         String s8 = "abcd,efgh,ijkl";
26         String str[] = s8.split(",");
27         for (String string : str) {
28             System.out.println(string);
29         }
30
31         String s9 = "  aa bb  cc";
32         String s10 = s9.trim();
33         System.out.println(s10.length());//9
34     }
35 }

转载于:https://www.cnblogs.com/xiaoxiaoyisheng/p/7426888.html

我的Java知识复习回顾笔记相关推荐

  1. Java基础复习总结笔记(上)

    前言 对Java部分基础知识进行复习总结,没事可以看看. 目录 一.基础语法 1.1 Java名词 1.2 Java关键字 1.3 基本数据类型(4类8种) (1)整数类型 (2)浮点类型 (3)字符 ...

  2. java se个人回顾笔记(持续更新)

    看前须知:本人代码写的还行,但由于大一学java时不是很认真,很多东西都学的一知半解,写的出来但不是很能理解原理,现在从面向对象开始重新回顾,会写一写自己一些一直不大会的东西,大部分还是会记录下来,但 ...

  3. Java知识系统回顾整理01基础04操作符07Scanner

    一.Scanner 需要用到从控制台输入数据时,使用Scanner类. 二.使用Scanner读取整数 注意: 使用Scanner类,需要在最前面加上 import java.util.Scanner ...

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

    一.首先第一步看JDK配置成功后的效果 点WIN键->运行(或者使用win+r) 输入cmd命令 输入java -version 注: -version是小写,不能使用大写,java后面有一个空 ...

  5. Java知识系统回顾整理01基础03变量03字面值

    一.字面值定义 创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象.  给基本类型的变量赋值的 ...

  6. Java知识系统回顾整理01基础04操作符02关系操作符

    一.关系操作符 关系操作符:比较两个变量之间的关系  > 大于 >= 大于或等于 < 小于 <= 小于或等于 == 是否相等 != 是否不等 public class Hell ...

  7. linux基础知识复习学习笔记

    其实有些东西长久不用就会忘记 疫情期间被隔离在家,把一些基础再复习一下,希望自己能够加深记忆. #20220108-RPM 20220109-yum包管理 20220110-用户组 20220111- ...

  8. Java面试复习与笔记

    ==与equals有什么区别 ==:对于基础类型,比较的是值的大小,对于对象,比较的是内存引用地址的值 equals:对象的基础方法,只能比较对象,比较值是否相等 对象equals比较,为啥要重写ha ...

  9. 实习准备——Java知识复习(一)

    1. JVM JVM是可运行 Java代码的假想计算机.JVM是运行在操作系统之上的,它与硬件没有直接的交互. (因此可以做到跨平台) 运行过程:Java源文件→编译器→字节码文件(.class)→J ...

最新文章

  1. 流浪:从南海到北海,面朝大海,春暖花开。
  2. 【数学基础】运筹学:拉格朗日乘子法和KKT条件(上)
  3. 狗年过节不收礼,短信打劫才时尚[ZT]
  4. 汇编对sp指针进行修改_从汇编理解函数调用的过程
  5. 关于 webapi ajax进度条信息设置
  6. oracle set autocommit,Oracle Sqlplus SET AUTOCOMMIT
  7. 【bzoj3119】Book
  8. K8S 部署rabbitmq集群
  9. 苹果mac专业的音乐制作软件:Logic Pro X
  10. 谷粒商城:秒杀系统设计与编写
  11. 三绕组变压器参数计算matlab,三绕组变压器等值参数计算
  12. 苹果按键强制恢复出厂_【数码】苹果手机忘了解锁密码不要慌,你可以这样做!...
  13. 【WZOI】默写数字
  14. 饥荒模块显示检查工作室订阅服务器,饥荒工作室新作《欺诈之地》正式上架Steam商店...
  15. css实现旋转的小箭头
  16. 计算机网络TCP的全称,tcp/ip全称是什么
  17. PC操作系统使用技巧
  18. squid代理服务+ip代理池
  19. mysql 1005是什么意思_mysql提示1005
  20. 等保测评--计算环境安全测评

热门文章

  1. Angular2.x-主/细节组件
  2. J2EE后台UI系统框架搭建-EXTJs使用(4.1 GPL版本)
  3. SQL Server--实体再复习
  4. 【高并发解决方案】6、数据库水平切分的实现原理解析
  5. kitkat-s5p4418drone 记录
  6. 3409: [Usaco2009 Oct]Barn Echoes 牛棚回声
  7. Android开源项目--分类汇总
  8. Linux下通过设置PS1变量改变bash提示符颜色
  9. mongodb 索引建立问题
  10. android:descendantFocusability用法简析