摘要:韦东山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. Redis集群(四):主从配置二
  2. 【JAVA】 UIMnager
  3. Bootstrap学习笔记系列7-----Bootstrap简单背景CSS及其他辅助类
  4. 定制Eclipse IDE之功能篇(二)
  5. Beta版本冲刺第四天 12.10
  6. SQL Server2008函数大全(完整版)
  7. 每日代码 - 6/26 lambda表达式
  8. linux 运行级别与chkconfig
  9. 【LeetCode】107 - Binary Tree Level Order Traversal II
  10. BITED数学建模七日谈之六:组队建议和比赛流程建议
  11. 禁止指定目录执行php文件
  12. CruiseControl.NET : Configuration Preprocessor
  13. Python3基础 当函数中的局部变量与全局变量同名了,各管各的
  14. stl_container容器和std_algorithm算法相同的函数
  15. ArcGIS API for JavaScript 4.2学习笔记[17] 官方第七章Searching(空间查询)概览与解释
  16. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法
  17. 把网站打包快速在线生成ios app的正确方法
  18. python装饰器扩展之functools.wraps
  19. ES6躬行记(3)——解构
  20. [C#] C# 知识回顾 - Lambda

热门文章

  1. 修改Mysql 字符集,支持Emoji表情
  2. MySQL Lock--MySQL加锁学习2
  3. SQL SERVER-Alwayson原理
  4. 关于C++模板不能分离编译的问题思考
  5. ubuntu---对比工具Meld
  6. Kotlin构造方法详解与初始化过程分析
  7. redis都有哪些数据类型?分别在哪些场景下使用比较合适?
  8. python之钉钉机器人zabbix报警
  9. 多线程执行sql报错处理
  10. nmap 排除某端口进行扫描