JavaSE自学笔记Real_001
2021/4/15 22:25:22
本文主要是介绍JavaSE自学笔记Real_001,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JavaSE自学笔记Real_001
一、变量
public class Shujuleixing { public static void main(String[] args) { //================================================== //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x //================================================== int i1 = 10; int i2 = 010; //八进制0 int i3 = 0x10; //十六进制0x System.out.println(i1); System.out.println(i2); System.out.println(i3); System.out.println("=============================================="); //============================================= //浮点数拓展 银行业务怎么表示 钱怎么表示 //============================================= //BigDecimal 数学工具类可以用于钱的计算 //float 与 double 类型有一些问题 有限 离散 舍入误差 大约 接近但不等于 //最好完全避免使用浮点数进行比较 float f = 0.1f; //0.1 double d = 1.0/10; //0.1 System.out.println(f==d); //false float d1 = 23131313132312312f; float d2 = d1 + 1; System.out.println(d1==d2); //true System.out.println(d1); System.out.println(d2); System.out.println("=========================================="); //================================================ //字符拓展 //================================================ char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制转换 System.out.println(c2); System.out.println((int)c2); //强制转换 //所有的字符本质还是数字 //编码 Unicode 表:(97=a 65=A) 2字节 0-65536 //U0000 UFFFF char c3 = '\u0061'; //以前的程序员需要写Unicode编码而不能直接写a System.out.println(c3); //输出字母a //=================================================== //转义字符 //================================================= //\t 制表符 //\n 换行 //.... System.out.println("======================================="); String sa = new String("hello world"); String sb = new String("hello world"); System.out.println(sa == sb); //false String sc = "hello world"; String sd = "hello world"; System.out.println(sc == sd); //true //================================================== //布尔值拓展 //================================================== boolean flag = true; // if (flag == true){} //新手 // if (flag){} //老手 System.out.println("=========================================="); //============================================================ //数据转换(强制转换) //========================================================== //数据可以自动从低类型转换为高类型,但是不能从高类型转换为低类型 //byte,short,char-->int-->long-->float-->double //强制转换 (类型)变量名 高-->低 //自动转换 低-->高 int i = 128; byte b = (byte)i; //导致内存溢出 System.out.println(i); System.out.println(b); /* 注意点: 1、不能对布尔值进行转换 2、不能把对象类型转换为不相干的类型 3、在把高容量转换为低容量的时候,墙置转换 4、转换的时候可能存在内存溢出,或者精度问题 */ //操作比较大的数的时候,注意溢出问题 //JDK新特性 数字之间加下划线进行分割不会影响输出 int money = 10_0000_0000; int years = 20; int total1 = money*years; //-1474836480 计算的时候溢出了 long total2 = money*years; //-1474836480 转换之前已经溢出了 long total3 = ((long)money)*years; //20000000000 解决方法,湘江一个数转换为long类型 System.out.println(total1); System.out.println(total2); System.out.println(total3); System.out.println("=============================================="); //=================================================================== //变量 //=================================================================== //变量的作用域 类变量前面加(static) 实例变量(普通变量) 局部变量(用在方法里面的变量) //实例变量:从属于对象;如果不进行初始化,这个类型的默认值为0 0.0 //布尔值:默认是false //除了基本类型,其他的类型未进行初始化则默认为null //======================================================================= //运算符 //======================================================================= /* 算术运算符:+ - * / % ++ -- 赋值运算符:= 关系运算符:> < >= <= == != 逻辑运算符:&& ! || 位运算符:& | ^(异或运算符) ~(取反运算符) <<(左移)相当于乘以2 >>(右移)相当于除以2 >>> (了解) 条件运算符:表达式?表达式1:表达式2 扩展运算符:+= -= *= /= */ //======================================================================= //包机制(包的本质就是文件夹) //======================================================================= /* 为了更好地组织类,java提供了包机制,用于区别类名地命名空间 包机制地语法格式为: package pkg1[.pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名 为了能够使用某一个包地成员,我们需要在Java程序中明确导入该包,使用”import“语句可以完成此功能 import package1[.package2...].(classname或者*); *代表导入所有的包。 */ } }
二、流程控制语句
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { /* //next()不能输出带有空格的字符串 //nextLine()是一Enter为结束的,可以输出带有空格的字符串 //创建一个扫描对象,用于接收键盘数据 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判断用户有没有输入字符串 if(scanner.hasNext()){ //使用next方法接收 String str = scanner.next(); System.out.println("输出的内容为:"+str); } //凡是属于IO流的类如果不关掉会一直占用资源,要养成好习惯用完就关掉 scanner.close(); */ //使用nextLine方式 Scanner scanner1 = new Scanner(System.in); System.out.println("使用nextLine方式接收:"); //使用nextLine方式接收 String str1 = scanner1.nextLine(); System.out.println("输出的内容为:"+str1); scanner1.close(); } }
import java.util.Scanner; public class Demo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //从键盘键入数据 int i = 0; float f = 0.0f; System.out.println("请输入整数:"); if(scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println("整数数据:" + i); }else{ System.out.println("输入的不是整数数据!"); } System.out.println("请输入小数:"); if(scanner.hasNextFloat()){ f = scanner.nextFloat(); System.out.println("小数数据:" + f); }else{ System.out.println("输入的不是小数数据!"); } scanner.close(); } }
if switch while for语句略
这篇关于JavaSE自学笔记Real_001的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!
- 2024-05-082024年,行业变动下的程序员应该首先学习哪种编程语言?