我的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 }
利用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知识复习回顾笔记相关推荐
- Java基础复习总结笔记(上)
前言 对Java部分基础知识进行复习总结,没事可以看看. 目录 一.基础语法 1.1 Java名词 1.2 Java关键字 1.3 基本数据类型(4类8种) (1)整数类型 (2)浮点类型 (3)字符 ...
- java se个人回顾笔记(持续更新)
看前须知:本人代码写的还行,但由于大一学java时不是很认真,很多东西都学的一知半解,写的出来但不是很能理解原理,现在从面向对象开始重新回顾,会写一写自己一些一直不大会的东西,大部分还是会记录下来,但 ...
- Java知识系统回顾整理01基础04操作符07Scanner
一.Scanner 需要用到从控制台输入数据时,使用Scanner类. 二.使用Scanner读取整数 注意: 使用Scanner类,需要在最前面加上 import java.util.Scanner ...
- Java知识系统回顾整理01基础01第一个程序01JDK 安装
一.首先第一步看JDK配置成功后的效果 点WIN键->运行(或者使用win+r) 输入cmd命令 输入java -version 注: -version是小写,不能使用大写,java后面有一个空 ...
- Java知识系统回顾整理01基础03变量03字面值
一.字面值定义 创建一个Hero对象会用到new关键字,但是给一个基本类型变量赋值却不是用new. 因为基本类型是Java语言里的一种内置的特殊数据类型,并不是某个类的对象. 给基本类型的变量赋值的 ...
- Java知识系统回顾整理01基础04操作符02关系操作符
一.关系操作符 关系操作符:比较两个变量之间的关系 > 大于 >= 大于或等于 < 小于 <= 小于或等于 == 是否相等 != 是否不等 public class Hell ...
- linux基础知识复习学习笔记
其实有些东西长久不用就会忘记 疫情期间被隔离在家,把一些基础再复习一下,希望自己能够加深记忆. #20220108-RPM 20220109-yum包管理 20220110-用户组 20220111- ...
- Java面试复习与笔记
==与equals有什么区别 ==:对于基础类型,比较的是值的大小,对于对象,比较的是内存引用地址的值 equals:对象的基础方法,只能比较对象,比较值是否相等 对象equals比较,为啥要重写ha ...
- 实习准备——Java知识复习(一)
1. JVM JVM是可运行 Java代码的假想计算机.JVM是运行在操作系统之上的,它与硬件没有直接的交互. (因此可以做到跨平台) 运行过程:Java源文件→编译器→字节码文件(.class)→J ...
最新文章
- 流浪:从南海到北海,面朝大海,春暖花开。
- 【数学基础】运筹学:拉格朗日乘子法和KKT条件(上)
- 狗年过节不收礼,短信打劫才时尚[ZT]
- 汇编对sp指针进行修改_从汇编理解函数调用的过程
- 关于 webapi ajax进度条信息设置
- oracle set autocommit,Oracle Sqlplus SET AUTOCOMMIT
- 【bzoj3119】Book
- K8S 部署rabbitmq集群
- 苹果mac专业的音乐制作软件:Logic Pro X
- 谷粒商城:秒杀系统设计与编写
- 三绕组变压器参数计算matlab,三绕组变压器等值参数计算
- 苹果按键强制恢复出厂_【数码】苹果手机忘了解锁密码不要慌,你可以这样做!...
- 【WZOI】默写数字
- 饥荒模块显示检查工作室订阅服务器,饥荒工作室新作《欺诈之地》正式上架Steam商店...
- css实现旋转的小箭头
- 计算机网络TCP的全称,tcp/ip全称是什么
- PC操作系统使用技巧
- squid代理服务+ip代理池
- mysql 1005是什么意思_mysql提示1005
- 等保测评--计算环境安全测评