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 ...
随机推荐
- 狂神说Mybatis笔记
环境说明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 学习前需要掌握: JDBC MySQL Java 基础 Maven Junit 第一节:入门 什么是MyBati ...
- 【问题记录】—SignalR连接断线重连
起因: ASP.NET Core SignalR是一个开源库,可简化向应用添加实时 SignalR Web 功能. 实时 Web 功能使服务器端代码能够立即将内容推送到客户端.(相信大家都用得比较多了 ...
- 【MySQL】常用的命令
连接数据库 mysql -u root -pmysql -u root -h 192.168.16.140 -p 创建数据库 create database dbstudents; 查看所有数据库 s ...
- 孟老板 Paging3 (二) 结合Room
BaseAdapter系列 ListAdapter系列 Paging3 (一) 入门 Paging3 (二) 结合 Room Paging3 (二) 结合Room Paging 数据源不开放, 无法 ...
- OO unit2 summary
Unit2 一.第一次作业 1.UML 2.Sequence Diagram 3.同步块设置与锁处理 采用了生产者-消费者模式,用共享对象来连接不同的线程. 第一次作业中,我有三个线程:Receive ...
- 《面试补习》- Java集合知识梳理
一.ArrayList ArrayList 底层数据结构为 动态数组 ,所以我们可以将之称为数组队列. ArrayList 的依赖关系: public class ArrayList<E> ...
- Spring Boot Docker
1. IDEA中配置Docker Docker默认只接受本地客户端的请求,为了能够远程访问它,首先要开放Docker的监听端口,运行外部应用可以访问 修改 /lib/systemd/system/d ...
- C#调用JAVA(一)制作jar包
1 //AndroidJavaClass类可以理解为某一个类 2 //AndroidJavaObject类可以理解为某一个类中的一个对象 打开AS,创建一个空项目 输入项目名,包名,本地路径以及语言之 ...
- HTTPD之二————HTTPD服务详解————httpd的配置文件常见设置
HTTPD之二----HTTPD服务详解----httpd的配置文件常见设置 HTTP服务器应用 http服务器程序 httpd apache nginx lighttpd 应用程序服务器 IIS,a ...
- CentOS中按tab键不能自动补全问题解决办法
CentOS中按tab键不能自动补全问题解决办法 一:检查一下系统有没有安装bash-completion包. 二:yum查找一下 三:yum安装bash-completion包 前言 在CentOS ...