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 ...
随机推荐
- Nvidia TensorRT开源软件
TensorRT开源软件 此存储库包含NVIDIA TensorRT的开源软件(OSS)组件.其中包括TensorRT插件和解析器(Caffe和ONNX)的源代码,以及演示TensorRT平台使用和功 ...
- 【C++】Vector求最大值最小值
最大值: int max = *max_element(v.begin(),v.end()); 最小值: int min = *min_element(v.begin(),v.end());
- SVN报错“Failed to run the WC DB work queue associated with”解决办法
最近在更新SVN上的ISO代码时,失败报错: Failed to run the WC DB work queue associated with "目录/文件",clean u ...
- Spring Cloud底层原理解析
概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓 ...
- Linux命令大全之挂载命令
理解:Linux挂载相当于Windows分配盘符 1.查询系统中已挂载的设备 mount 2.设置自动挂载 编辑文件/etc/fstab,把文件写入就可以启动自动挂载了, 注:一般不把光盘写入,如果写 ...
- Spring Data JPA的Audit功能,审计数据库的变更
我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 数据库审计 数据库审计是指当数据库有记录变更时,可以记录数据库的变更时间和变更人等,这样以后出问题回溯问责也比较方便. ...
- vue调用子组件方法时,参数传不过去
有可能是因为子组件方法用了 async await 子组件去掉async就好了
- SpringCloud Alibaba实战(9:Hystrix容错保护)
源码地址:https://gitee.com/fighter3/eshop-project.git 持续更新中-- 在上一节我们已经使用OpenFeign完成了服务间的调用.想一下,假如我们一个服务链 ...
- Java实现工厂模式
工厂模式(Factory),当需要根据运行时的一些条件来决定创建具体对象时,就应该考虑使用工厂设计模式,将创建对象的任务交给工厂集中处理. 工厂模式有多种写法,总体分为简单工厂模式和抽象工厂模式 工厂 ...
- jquery动画(控制动画隐藏、显示时间轴)
<!DOCTYPE html><html> <head> <meta http-equiv="Content-type" conte ...