查看“Android零基础入门”的源代码
←
Android零基础入门
跳转至:
导航
,
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
==UI基础入门== ===Android入门=== 视频: 链接: https://pan.baidu.com/s/1_b0XMAEilNkmj1IdFKauig 提取码: a7kd 笔记: *[[Android概述与发展]] ===目录解析及HelloWorld=== 视频: 链接: https://pan.baidu.com/s/10TxqU2-SDDo6LildYVoW2g 提取码: xxqf 笔记: *[[创建第一个Android程序]] *[[详解HelloWorld]] ===Activity入门=== 视频: 链接: https://pan.baidu.com/s/1LQ2B9-myqN4alVHzkZwj-A 提取码: ks6e view入门; 视频, 链接: https://pan.baidu.com/s/1KCEXLWEWqM4hfBYZn4f1tQ 提取码:6syy 线性布局入门: 视频; 链接: https://pan.baidu.com/s/1TS4BUxnyJne0W17KHwQSDw 提取码:pypa ui基础入门; 视频; 链接: 链接:https://pan.baidu.com/s/13yIB7i1lKFN-UoHI7r8Z3w 提取码:546d 笔记: *[[ Activity介绍与启动]] *[[Activity关系谱]] ==UI常用组件== 1.关键字 java 中有特殊用途的词被称为关键字,区分大小写。 2.标识符 标识符是用于给java程序中的变量、类、方法等命名的符号。 标识符的几条规则: 2.1.由字母、数字、下划线(_)、美元符号($)组成,不能包含特殊字符,不能以数字开头。 2.2.不能是Java关键字和保留字,但可以包含关键字和保留字 2.3.严格区分大小写。 3.变量 声明一个变量的格式为 : 变量类型 变量名 = 变量值; 变量名采用小驼峰式命名规则。 4.数据类型 数据类型分为两类:基本数据类型、引用数据类型。 基本数据类型有: 整数类型:byte、short、int(定义一个整数时,系统默认为为int类型)、long 数值型{ 浮点类型:float、double(定义一个浮点型数据时,系统默认为double) 字符型 :char 布尔型 :boolean (布尔值的数据只能是true或fleas,布尔值主要用于条件判断)、 基本数据类型一般放在栈里,复制时是复制了一个副本给新变量,所以新变量无论如何变,都不影响原变量。 引用数据类型有: 类:class 接口:interface 字符串:string 数组:Array 但凡是一个独立的类皆为引用类型的数据,其内容放在堆里,在栈里的是其的地址值。复制时给的是其地址值,新变量的改变也会影响原变量。 但凡new出来的皆放在堆里,字符串有字符串池,稍微特殊! 5.运算符 加法运算符:+ , 减法运算符:- , 取余运算符:% , 除法运算符:/ , 乘法运算符:* , 自加运算符、自减运算符:++、--。(自身加一、减一) 当自加(减)运算符在变量前面时,先将变量加(减)一,再执行语句,若在变量后面,则先执行语句,再将自身加(减)一; 6.数据类型转换 数据类型转换分为: 6.1自动数据类型转换:由范围小的数据类型向范围大的数据类型转换时,发生自动数据类型转换。如将int类型转化为long类型。 6.2强制数据类型转换:由范围大的数据类型向范围小的数据类型转换时,发生强制数据类型转换。如将long类型转化为int类型。格式为 数据类型(如long) 变量名 = (数据类型)(如(long))数据值。 强制数据类型转换会造成部分数据的丢失和精度损坏。 除却int转double时没有精度的丢失,其它所有整数类型转浮点类型都会有精度丢失。 7.运算过程中数据类型的提升 在运算过程中,数据类型会自动的提升为范围最大的数据类型。如int+long,此时int会提升为long类型变量,输出结果也为long类型。 7.1 如果两个操作数中有一个是double类型,另一个操作数就会转换为double类型。 7.2 否则,如果其中一个操作数是float类型,另一个操作数就会转换为float类型。 7.3 否则,如果其中一个是long类型,另一个操作数就会转换为long类型。 7.4 否则,两个操作数都会转换为int类型。 8.条件用语句 8.1 if语句: if(判断条件1){ 要执行的代码块;(当条件1为true时执行) }else if(判断条件2){ 要执行的代码块;(当条件1为fleas,判断条件2为true时执行) }else{ 要执行的代码块;(当条件1和条件2都为fleas时执行) } 并且if语句中可以嵌套if语句,else if 和 else可以不写。 8.2 switch语句: switch(表达式){ case 常量 1: //代码块1; break; case 常量 2: //代码块2; break; 。。。。。。 default: //代码块n; break; } 使用switch语句时,要注意在每个要执行的代码后面加break,否则会将满足条件,及满足条件以下的代码全部执行。 8.3 while循坏语句: while(布尔表达式){ 要循环执行的代码块 } while循环执行时会先判断条件,在执行,当条件不满足时,终止循环。 8.4 do...while循环: do{ 执行的代码块 }while(布尔表达式) 与while循环不同的是,该循环会先执行一次,再判断条件。 8.5 for循环: for(判断语句){ 执行语句块}; for一般用于遍历,但千万要小心判断语句的不适当性会使程序一直运行。一般用于有限次数的循环。 for(声明变量 : 要遍历的数据 ) {执行语句块};一般用于遍历一整个数据。 ============================================================================== 9.数组<br> 9.1 定义:数组和变量差不多,也是可以存放数据的,但是数组可以存多个数据,而且多个数据类型统一。<br> 9.2 格式:<br> :::: A.数组类型[] 数组名称; <br> ::::: ##B.数组类型 数据名称[];(不推荐)<br> 9.3 变量想要使用必须赋值,而数组要想使用必须【初始化】;<br> 9.4 初始化有两种:动态初始化和静态初始化。<br> A.动态初始化:指定数组的长度<br> 1)数组类型[] 数组名称 = new 数据类型[数组长度];<br> B.静态初始化:指定数组的内容<br> 1)数组类型[] 数组名称 = new 数据类型[] {数据1, 数据2, 数据3, 数据4....};<br> 2)数组类型[] 数组名称 = {数据1, 数据2, 数据3, 数据4....};(简化的版本)<br> 9.5 数组不初始化会有默认值:<br> A.整数类型:0<br> B.浮点数类型:0.0<br> C.布尔值类型:false<br> D.引用类型:null<br> E.字符类型:\u0000(Unicod写法)<br> F.直接打印数组的话,而不是数组的某一位,会打印出16进制的地址值(哈希值),16进制的前缀一般是0(这是零)x;<br> 9.6 如何访问数组的一个具体元素:<br> A.数组名称[索引];索引从0开始到长度减1。<br> 9.7 静态初始化的注意事项;<br> A.虽然静态初始化没有指定长度,但是仍可以根据具体元素的个数自动推算出来长度。<br> B.虽然简便格式当中未写new....,但仍有开辟空间的过程。(即其还在堆里)<br> C.虽然指定了具体元素内容,但是仍然会有默认值被替换的过程。<br> 9.8 获取数组的长度<br> A.格式:数组名称.length;<br> B.调用Arrays里的方法来获取数组的长度,返回值是一个int;<br> 9.9 【注意】<br> A.一个数组一旦在内存当中被创建了,那么数组的长度就不能发生改变。<br> B.一旦索引越界,会出现报错(编译不会报错,运行会报错):ArrayIndexOutOfBoundsException,只要出现这种异常,一定是访问的数组元素并不存在,索引不能为负数。<br> 9.10 【扩展】:java的内存分配<br> A.java里的jre里的jvm管理着内存。//<br> B.栈(Stack):主要存放局部变量。(先进后出,后进先出。可忽略)【重点】<br> C.堆(Heap):但凡是new出来的都在堆里。【重点】 1)默认值规则看5;<br> D.方法区(Method Area):存放与class相关的信息。【重点】<br> E.本地方法区:与操作系统相关。<br> F.寄存器(pc Register):与cpu相关,性能极高。<br> ============================================================================= 10.方法介绍 所谓方法,就是用来解决一类问题的代码得有序组合,是一个功能模块。 语法格式: 访问修饰符 返回类型 方法名(参数列表){ 方法体 } 10.1.方法的分类: 根据方法是否带参数、是否返回值、可分为四类: - 无参无返回值的方法 - 无参带返回值的方法 - 带参无返回值的方法 - 带参带返回值的方法 11.创建类和对象 public class index { //创建一个方法 public void indexDome() { System.out.println("哈喽我的"); } public static void main(String[] args) { //创建index类的对象domeOne index domeOne = new index(); domeOne.indexDome(); } } 11.1无参带返回值方法: piblic class index{ public int area(){ int lenght = 10; int witdh = 5; int getArea = lenght*width; return getArea; } public static void main(String[] args){ index sc = new index(); System.out.println("长方形面积为:"+ sc.area()); } } 11.2带参无返回值的方法: public class index { public static void max (float a, float b) { float max; if(a>b) { max = a; }else { max = b; } System.out.println("两个数"+a+"和"+b+"的最大值为:"+max); } public static void main(String[] args) { index domeThree = new index(); int a=5,b=3; index.max(a,b); float m=5.6f,n=8.9f; index.max(m,n); index.max(9.8f,12.8f); } 11.3【重载】 1.方法重载,需要参数列表不同 A.参数的个数不同 B.参数的类型不同 C.参数的多类型顺序不同 2.重载和下面的原因无关: A.与返回值的类型无关 B.与参数的名称无关 11.4如何定義一個“标准的类”? 1.所有的成员变量都要使用private私有化; 2.为每一个成员变量编写一对Setter和Getter方法。 3.编写一个无参数的构造方法; 4.编写一个全参数的构造方法; 11.5使用构造方法的注意事项: 1.构造方法根本不写返回值类型,连void都不写; 2.构造方法的名字和所在类的名字必须一样,区分大小写; 3.构造方法也是方法,可以进行重载; 4.构造方法如果没有自定义,那么编译器会赠默认送一个无参数,什么都不做的构造方法,样子如下: * public Studen(){}; * 如果定义了至少一个,那么便不在赠送默认的; 11.6注意事项 当局部变量和成员变量名字一样时,方法当中会根据“就近原则”使用局部变量。 如果希望区分一下,那就需要以下格式: this.成员变量名 this关键字的经典作用,将重名的成员变量和局部变量区分开; this关键字其实代表的是【当前对象】 记住:通过谁调用的方法,谁就是this
返回至
Android零基础入门
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息