第1课_Java基础知识【学习笔记】
摘要:韦东山android视频学习笔记
一、android系统的基本框架如图一所示,应用程序是用java编写的,底层驱动是用C代码写的,java与C怎么连接在一起主要是通过本地服务。android系统的核心主要在于framwork层.

图一
二、
2.1 第一个java程序:需要注意的是类的命名,首字母必须要是大写,而且文件的名字要跟类名保持一致。
public class Hello{
public static void main(String args[]){
System.out.println("Hello,World!");
}
}
编译运行命令如图二:

图二
2.2 循环打印的例子:
public class Hello{
public static void main(String args[]){
int i = 0;
for (i = 0;i < 3;i ++){
System.out.println("Hello World");
}
}
}
编译运行命令如图三:

图三
2.3 java与C语言的数据类型对比如图四,java中无指针类型的数据,有引用类型的数据.java中字符串是一个string类。数据不丢失的前提下可以自动转换,

图四

图五
相关代码:
public class Var{
public static void main(String args[]){
int a = 3; //整数默认是int,
float f1 = (float)3.14; //有小数时默认是double,因此这里需要转换不然数据精度会丢失
float f2 = 3.14f;
int i = 4;
short s = 4; //数据不丢失的前提下可以自动转换
short s2 = (short)40000; //超过数据范围,需要强制转换
//s = i;
s = (short)(s + 1); //,因为对于byte,short的运算,为了保证精度,会自动转换为int类型,因此等号右边需要强制转换
s = (short)(s + s2);
//int* p = malloc(10*sizeof(int));
int p[] = new int[10];
int p2[] = {1,2,4}; // static alloc
// char str[100];
char str[] = new char[100];
//char str2[] = "abc";
String str2 = "abc";
p = null;
p2 = null;
str = null;
str2 = null;
}
}
2.4与C语言相比,Java的函数可以进行重载的操作,对函数的个数以及函数参数的类型也能够进行重载.相关代码如下
public class Function{
public static void main(String args[]){
System.out.println(add(1,2));
System.out.println(add(1,2,3));
System.out.println(add(1.0f,2.0f));
}
public static int add (int x,int y){
return x + y;
}
public static int add (int x,int y,int z){
return x + y + z;
}
public static float add (float x,float y){
return x + y;
}
}
编译运行结果如下图:

图六
2.5函数传递参数,如果要修改传递的参数要使用指针,相关代码如下:
public class Param {
public static void main(String args[]) {
int x = 1;
fun (x);
int p[] = new int[1];
p[0] = 123;
System.out.println("Before fun2: "+p[0]);
fun2(p);
System.out.println("After fun2: "+p[0]);
System.out.println(x);
}
public static void fun(int x) {
x = 100;
}
public static void fun2(int[] p) {
p[0] = 200;
}
}
编译运行执行结果:

图七
相关代码存放在github,可以下载https://github.com/zzb2760715357/100ask

第1课_Java基础知识【学习笔记】的更多相关文章
- Objective-c基础知识学习笔记
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
- 〖前端开发〗HTML/CSS基础知识学习笔记
经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构: HTML文件的固定结构: <html> <head>...</head> & ...
- java基础知识学习笔记
本文知识点以js为参照.对比分析得出笔记.JavaScript之所以叫JavaScript是打算借助java推广自己.虽然都是开发语言,但JavaScript一开始主要运行在 客户端,而java主要运 ...
- 传智播客 Html基础知识学习笔记
HTML基础 <p></p>标志对用来创建一个段落,,<p>标志还可以使用align属性, 它用来说明对齐方式 语法是:<p align="&quo ...
- Unity基础知识学习笔记二
1,object Instantiate(object original,Vector3 position,Quaternion rotation) 克隆原始物体,并返回克隆物体. ...
- Unity基础知识学习笔记一
1,Unity 4.5.4这个版本,在打包ios应用程序的时候.会生成一个xcode工程,但是这个工程无法在xcode6上变异,无法生成ios8上发布.所以unity在ios8发布3天内就发了4. ...
- jquery基础知识学习笔记
jquery是一个js库/常用版本是jjquery-1.7.2.js/这个版本主要是用来做开放用途 做产品的时候是用它的min版本.玩jquery的时候,不管干啥都要花钱(美元) 注意点: 1.s ...
- CSS基础知识学习笔记
1.css基本样式讲解 1.1 css背景background-attachment:背景图像是否固定或者随着页面的其余部分滚动background-color:设置元素的背景颜色background ...
- 传智播客 Html基础知识学习笔记2
一.<select>标签 用来创建类似于WinForm中的ComboBox(下拉列表)或者LisBox 如果size大于1就是LisBox,否则就是ComboBox; <select ...
随机推荐
- mysql死锁检查
1.查看当前数据库进程 show processlist; show full processlist; #前者只显示前100条,后者显示所有的进程 2.一键杀死某个用户的所有进程 select ...
- Python学习日记(十四) 正则表达式和re模块
正则表达式: 它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量 字符组:它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一 ...
- p7.BTC-挖矿总结
全节点: 1 一直在线 2 在本地硬盘上维护完全的区块链信息 3 在内存里维护UTXO集合,以便快速检验交易的正确性 4 监听比特币网络上的交易信息,验证每个交易的合法性 5 决定哪些交易会被打包到区 ...
- SQL SERVER-AlwaysonResolving
虽然2台都是同步提交,自动failover模式 在辅助副本的AG中先删掉一个可用DB,然后关闭主副本,之后辅助副本变为下图.不能自动failover. 重新开启主副本后,主副本显示一切正常 但是辅助副 ...
- mysql 优化修复表
OPTIMIZE TABLE `table_name` 优化表 MyISAM 引擎清理碎片 OPTIMIZE语法: OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABL ...
- Bash基础——减号-
参考:Bash基础——pipe pipe命令在 bash 的连续的处理程序中相当重要.在pipe命令当中,常常会使用到前一个命令的 stdout 作为这次的 stdin , 某些命令需要用到文件名 ( ...
- mysql:[Err] 1068 - Multiple primary key defined
添加主键时,出现错误:[Err] 1068 - Multiple primary key defined #增加主键 ) not null; ; alter table my_test add pri ...
- 文件操作之stat()函数
作用: 返回一个文件的详细信息 头文件: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h& ...
- Apache的虚拟主机
一.虚拟主机的分类 基于IP的虚拟主机:一台服务器,多个ip,搭建多个网站 基于端口的虚拟主机:一台服务器,一个ip,利用不同端口,搭建多个网站 基于域名的虚拟主机:一台服务器,一个ip,多个域名,搭 ...
- 微信小程序~获取位置信息
微信小程序提供的getlocation来获取用户的定位,能够得到用户的经纬度信息 (注:getloaction需要用户授权scope.userLocation)结合map组件能够得到用户的详细定位 & ...