Java应用基础微专业-入门篇
第1章--用程序来做计算
1.1 第一个Java程序
Mac version: Preference -> General -> Keys -> Search "Content Assist" for binding to the short-key you want.
1.2 用变量做计算
1.3 表达式(浮点数,优先级和类型转换)
rounding happens to floating number: (e.g. shown below)
System.out.println(1.2-1.1);
output: 0.09999999999999987
第2章--判断
2.1 作比较
comparison between int and double:
int a = 5;
double b = 5.0;
System.out.println(a==b);
output: true
comparison between double and double:
int a = 5;
double b = 5.0;
System.out.println(a==b);
output: true int a = 1.0;
double b = 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1;
System.out.println(b == c);
System.out.println(b+"; "+c);
output: false
output: 1.0; 0.9999999999999999
solution: Math.abs(a-b) < 1e-6;
2.2 判断语句
2.3 多路分支
第3章--循环
3.1 循环(while和do-while循环)
do-while syntax: (cannot image that I even do not remember this)
do {
// body
} while (condition);
3.2 for循环
3.3 循环控制(含复合赋值、逻辑类型)
using break with a label:similar to "goto" in c language
blahblahblah;
LABEL:
for(int i = 0; i < 10; i++) {
blahblahblah
if (...) {
break LABEL; // break the loop labelled "LABEL"
}
}
3.4 循环应用
tricks for integer processing:
得到个位数:%10
去掉最低位:/10
Formatted Print:
System.out.printf("%.2f", x);
第4章--数组
4.1 数组的创建和使用
syntax of defining and creating an array: // fine, haven't write Java for rly a long time
type[] name = new type[size]; // size could be a variable, but it must be provided
e.g: int[] i = new int[array_size];
with initialisation:
type[] name = new type[size];
e.g: int[] i = {1,2,3};
4.2 数组变量和运算
int[] a = new int[size];
initialise array a
int[] b = a; // b just points to the block data which a points to (same block of data)
a == b ? true
but what if a and b points to different blocks of memory?
int[] a = {1,2};
int[] b = {1,2};
a == b ? false
if we wanna compare the content of two arrays: solution--traversing and comparing each pair of element
if we wanna copy an array: solution--traversing and copying each element one by one
syntax for "for-each" loop to traverse an array:
for (type element: array) {}
4.3 二维数组
syntax for creating, initialising, and modifying a two-dimensional array:
int[][] a = new int[size][size];
int[][] a = { {1,2,3,4}, {1,2} };
a[1][2] = 5;
第5章--函数
5.1 函数的定义和调用
函数有多个出口(多个return statements)--> bad design
5.2 函数的参数与本地变量
Java在调用函数时,永远只能传值给函数(?)
life-cycle of a local variable: inside the block
e.g.
{
int i;
}
i = 0; // ERROR
(END)
Java应用基础微专业-入门篇的更多相关文章
- Java应用基础微专业-工程篇
第1章-命令行 1.1 命令行基础 ls -a: list all files (including hidden files) .DS_Store: files detailed informati ...
- Java应用基础微专业-设计篇
第1章--抽象与接口 1.1 抽象 An abstract class can be created without abstract methods, the purpose of doing th ...
- Java应用基础微专业-进阶篇
第1章--使用对象 1.1 字符类型 char c = 65; // char --> int char c = '\u0041'; // \u: unicode + (Hex 41--> ...
- 总结删除文件或文件夹的7种方法-JAVA IO基础总结第4篇
本文是Java IO总结系列篇的第4篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- 总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇
本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- Java中的IO流 - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的IO流-入门篇>,希望对大家有帮助,谢谢 由于Java的IO类有很多,这就导致我刚开始学的时候,感觉很乱,每次用到都是上网搜,结果 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- Java中的集合List - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的集合List - 入门篇>,希望对大家有帮助,谢谢 简介 说实话,Java中的集合有很多种,但是这里作为入门级别,先简单介绍第一种 ...
- Java中的映射Map - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的映射Map - 入门篇>,希望对大家有帮助,谢谢 简介 前面介绍了集合List,这里开始简单介绍下映射Map,相关类如下图所示 正 ...
随机推荐
- [node.js学习]为node.js写的一个操作mysql的类
不支持一个对象在不同异步中使用,模仿的php框架 speedphp中的model模块 GaryMysql.js var mysql = require('mysql'); var pool = nul ...
- 算法是什么(二)手写个链表(java)
算法是什么(二)手写个链表(java) liuyuhang原创,未经允许禁止转载 目录 算法是什么(〇) 很多语言的API中都提供了链表实现,或者扩展库中实现了链表. 但是更多的情况下,Map(或 ...
- 汇编中PSP是什么?为什么一般cs比ds大10h
一般来说,PSP是256个字节,当程度生成了可执行文件以后,在执行的时候,先将程序调入内存, 这个时候DS中存入程序在内存中的段地址,紧接着是程序的一些说明,比如说程序占用多大空间等 等,这就是PSP ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 038-039
英剧总导演真的是忙哈哈哈,需要统筹兼顾所有方面,音频组.录音组.演员表演组.道具组.等等一系列的东西,当一个团队的Leader真不容易哈哈. ----------------------------- ...
- MYSQL 8.0.11 安装过程及 Navicat 链接时遇到的问题
参考博客:https://blog.csdn.net/WinstonLau/article/details/78666423 我的系统和软件版本是这样的: 系统环境:win7.64位 MySQL版本: ...
- 纯js轮播图练习-1
偶尔练习,看视频自己学着做个简单的纯JS轮播. 简单的纯js轮播图练习-1. 样子就是上面图片那样,先不管好不好看,主要是学会运用和理解轮播的原理 掌握核心的理论知识和技术的操作,其他的都可以在这个基 ...
- PHP实现全自动化邮件发送 phpmailer
PHPmailer composer地址 function SendMail($msg,$theme,$content) { $mail = new \PHPMailer\PHPM ...
- windows 10 安装node.js
第一步:下载软件 nodejs的中文官网http://nodejs.cn/download/ 选择 windows 系统 msi 安装版本. 下载完成之后,直接打开下一步安装就可以. 安装完成 打开 ...
- Android内存分析工具
在Android系统开发过程中,经常会要去分析进程的内存的使用情况,简单介绍下Android内存分析的相关工具. 文章参考: 1.dumpsys 2.memory-analysis-command 1 ...
- OpenWrt超时检测
参考http://www.right.com.cn/forum/thread-261702-1-1.html vim /home/ihid/chaos_calmer/feeds/luci/module ...