3java基础补充(今天和昨天学习内容整理)
1.java单机项目

2.JavaSE又被称为J2SE,JavaEE和JavaME类同。
3.Java特性(总结)
(1)跨平台/可移植性:相同的Java代码可以在任何一个支持的平台(操作系统)上运行,这是因为.java源文件首先会编译为.class的字节码文件,这个字节码文件会在不同操作系统的不同JVM上执行,最终获得相同的效果。这也正是“一次编译,处处运行”的原理。同时,Java规定所有的数据类型在所有平台上占得内存都相同,保证了跨平台性的可行性。
(2)面向对象:Java是完全面向对象的编程语言,其他面向对象的语言还有C#,C++,Python等。
(3)安全性:Java适合于其分布式/网络服务的开发,是安全性很高的语言。
(4)简单:Java较C语言比较简单。同时去除了指针的概念。
(5)高效性:Java通过即时编译技术,即将一些经常容易用到的热点代码的机器码保存在本地,这样大大提升了Java的执行效率。
(6)分布式:
(7)多线程:Java可以同时开启多个线程、多级线程,可以提供更好的交互响应和实时行为。
(9)健壮性:Java的健壮性体现在一是在编写代码时就显示了许多C系语言在编译时才会出现的错误;二是Java会处理一些可能的异常,将他们在try-catch块中处理或是抛出。
(10)垃圾处理机制:也称GC,是一种系统级线程,可以实时跟踪java中用不到的内存并自动将其释放,避免了C系语言需要程序员自己清除垃圾的工作。但仍可能造成内存的溢出或崩溃。
4.开发一个Java程序:
(1)安装jdk(java development kit) jdk = jre+开发工具包 jre = 核心API+JVM。其中jdk用于开发java程序,jre用于运行java程序。
(2)配置环境变量:配置%JAVA_HOME%为jdk目录,PATH添加%JAVA_HOME%/bin。目的是为了在系统中处处可以直接运行java命令。
(3)创建.java源文件,在其中添加java代码。其中如果有主类,主类名必须和文件名一致。
(4)在源文件目录下,使用cmd,输入javac 原文件名.java 命令,进行编译。编译完成后输入java 源文件名 命令,执行字节码文件。在jdk11中也可以直接输入java 源文件名.java 编译+运行。
(5)注意事项:在代码中所有的标点符号都必须是英文状态;代码需要有良好的格式:在java代码中 以大括号进行层级区分 在同一个大括号中的代码 应该具有相同的缩进层次 缩进一般一个层级缩进一个制表符(Tab);在java代码中 每条语句结束必须以分号结尾;在java中 所有文件的存放路径或者软件的安装路径都必须是全英文的,路径中不能出现中文或空格 等特殊符号;
当修改了java源程序之后 每次都需要重新编译运行。
5.java的两个核心:jvm和gc
6.数据类型、运算符、表达式要点
(1)输入整数默认为int类型。bool、char、short类型的变量,一旦经过运算,其类型都会变成int类型,不能直接赋值。但是赋值运算符可以自动将其类型强制转换。
(2)发生上溢(正变负)时,数值的计算使用补码的计算过程。
(3)字符串拼接中有整型时,在字符串前面的整型进行计算,在字符串后面的整型视为字符串。
(4)表达式的计算,首先是按照从左向右的顺序,其次注意自增自减变量在表达式中的变化,如
int y = x++ + x++ + x++;
System.out.println(y);// 10 +11 + 12 = 33
(5)模运算规则:被取余数的符号决定余数的符号,如
int ss1 = 7 % 3;// 1
int ss2 = -7 % 3; //-1
int ss3 = 7 % -3 ; // 1
(6)数据类型表示的范围大小:bool->char/short->int->long->float->double。大的自动兼容小的,多个类型进行运算,结果自动转为大的类型。
(7)浮点数运算,两个float类型运算结果仍然为float类型。
(8)字符运算中使用的是字符的ascii码。常用的有'a'=97 'A'=65 '0'=48。注意区分(char)0、(int)'0'和'0'。
(9)区分Java中逻辑与/或和按位与/或:看运算符两边的类型,如果是整型则为位运算符,如果是boolean类型则为逻辑运算符。
(10)交换两数内存最少、时间最短的方法是异或再异或。
(11)long类型表示超出int范围的数,需要在后面加上l。
(12)十进制直接输入,8进制前面加0,16进制前面加0x,2进制前面加0b。
(13)由于double和float类型并不能够存储精确的数值,因此最好不要使用浮点数类型比较,会得到一定精度以上的数值相等的情况。如果要保存很大的数可以使用大整数或者字符串。


(14)char可以存英文、中文字符、数字以及unicode码,因此它的大小是2字节。boolean只有true和false两个值,因此它的大小是1bit。
(*15)utf-8是一种unicode编码,它使用变长存储,一个n字节的utf-8码,第一个字节前n位是1,后面每个字节高两位都是10。这样保证了只有128个的ascii码不会浪费空间。
(16)如图所示,两个int整数相乘发生了上溢,但在转化为long类型之前运算就结束了,错误的结果还是保存到了long类型中。正确的写法应该是将任意一个强转为long类型。
int money =1000000000;
int year = 20;
long total = money * year;
System.out.println(total);//-1474836480
(17)一般只针对两个整型求余,但浮点数也可以求余。
7.switch语句
(1)switch的表达式的类型: char, byte, short, int及其对应的引用类型, enum(枚举) , String(jdk7+)
(2)default可以出现在任意位置
(3)switch语句只能实现具体、有限的值的逻辑判断switch语句可以实现的,if语句一定可以实现
8.带标签的break和continue
outter: for(int i = 101; i < 150 ;i ++){
for(int j = 2; j < i/2 ; j++){
if(i % j == 0 ){
continue outter;
}
}
System.out.println(i);
}
9.错题(2)

解析:java方法中可以一次传入多个参数,通过数组/list/set以及不定数组等,但是不可以一次返回多个参数,只能放在数组/集合中返回。


D:(char)0 == 0 ,由于数组中的字符一定是可以输入的ascii字符,一定成立;a[i]<=(char)9表示ascii表中前9个ascii字符,而0-9是ascii码中48-57的字符。
3java基础补充(今天和昨天学习内容整理)的更多相关文章
- java学习内容整理
转自:http://www.cnblogs.com/caoleiCoding/p/6170555.html 首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习j ...
- Pythn基础课程笔记day03_学习内容概要及作业讲解
第三天_学习内容概要 今日内容概要 1.整形 2.布尔类型 3.字符串 内容回顾和补充 内容回顾 利用思维导图,罗列复习自己学习的内容,巩固知识点. xmind 软件 processon 网站 补充 ...
- spring boot(10) 基础学习内容
A Spring boot(10) 基础学习内容 B SpringBoot(16) 基础学习内容
- web前端开发学习内容
应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准 代码能 兼容主流浏览器.ie6.7.8.9 ff 等. ...
- 【笨木头Lua专栏】基础补充04:迭代器初探
今天学习的内容还蛮有意思的,让我兴奋了一下~ 笨木头花心贡献,哈?花心?不,是用心~ 转载请注明,原文地址: http://www.benmutou.com/archives/1714 文章来源:笨木 ...
- 【代码笔记】Java常识性基础补充(一)——赋值运算符、逻辑运算符、三元运算符、Scanner类、键盘输入、Random类、随机数
为什么要进行Java常识性基础补充? 之前学习Java语言,学得很多很杂,而且是很多不同的方面插入讲解的,比如在跟班上课,自学java编程例子,java语法,过了很久,因为各种原因长时间不怎么写,有时 ...
- 【黑客基础】Windows PowerShell 脚本学习(上)
视频地址:[黑客基础]Windows PowerShell 脚本学习 2019.12.05 学习笔记 1.$PSVersionTable :查看PowerShell的版本信息. 2.PowerShel ...
- IT软件人员的技术学习内容(写给技术迷茫中的你) - 项目管理系列文章
前面笔者曾经写过一篇关于IT从业者的职业道路文章(见笔者文:IT从业者的职业道路(从程序员到部门经理) - 项目管理系列文章).然后有读者提建议说写写技术方面的路线,所以就有了本文.本文从初学者到思想 ...
- javascript学习内容--改变样式、取消设置、显示内容、隐藏内容
<head> <style> body{font-size:12px;} #txt{ height:400px; width:600px; border:#333 solid ...
随机推荐
- video视频标签自定义显示隐藏播放控件&Shadow DOM
方法一:controlslist属性 controlslist="nodownload nofullscreen noremoteplayback" controlslist仅三种 ...
- parted(分区工具)
要支持大容量(18EB),需改用 gpt 分区模式可以有128个主分区 [root@server0 /]# lsblk [root@server0 /]# parted /dev/vdb (part ...
- JavaScript 中的 Var,Let 和 Const 有什么区别
一.var 在ES5中,顶层对象的属性和全局变量是等价的,用var声明的变量既是全局变量,也是顶层变量 注意:顶层对象,在浏览器环境指的是window对象,在 Node 指的是global对象 var ...
- noip模拟7[匹配·回家·寿司]
这次考试状态好像还是没有回来,只拿了55pts,还全是第一题的功劳,就是一个小KMP,然后还让我给打错了 就很难受,while打成了if,然后wa掉45分考完立马拿回来了,悔死了,害 第二题爆零了,为 ...
- cisco交换机端口从errdisable状态恢复
故障描述 经用户反馈,一台cisco2960x接入交换机的一个端口插网线不通,ip电话也没有poe供电. 排查过程 查看交换机端口状态,发现变成了errdisable: ZH_HQN_SW2960X_ ...
- Linux安装及管理程序
一,常见的软件包封装类型 二.RPM包管理工具 三.查询RPM软件包信息 四.安装.升级.卸载RPM软件包 五.解决软件包依赖关系的方法 六.源代码编译 七.安装yum源仓库 一,常见的软件包封装类型 ...
- 4、git和gitlab的配置(1)
4.0.服务器说明: 服务器名称 ip地址 controller-node1 172.16.1.90 4.1.git介绍: 1.git分布式图: 2.git区域: 3.四种状态: 上面的操作在工作目录 ...
- 12、如何删除windows服务
12.1.步骤一: 同时按住"windows"徽标键和"r"键,在弹出的"运行"框中输入"services.msc", ...
- 登录华科校园网,我用Socket
登录华科校园网,我用Socket 导语: 找一个华科学生问一问,学校的网络怎么样?得到的大多数是负面回答.其实不论是从覆盖区域.网络稳定性.还是速度来说,华科做的都还是可以的(24:00断网除外).可 ...
- Python分析【公众号】历史评论,看看大家的留言情况!
大家好,我是辰哥~~~ 辰哥玩公众号有一段时间了,这期文章分析一波读者的留言情况,不仅可以对公众号的各位铁粉一目了然,还可以通过分析的结果对公众号的经营进行更好的规划.如读者留言的内容通常是内容是什么 ...