2nd-Android编程基础笔记

由于大学里学过C++,年前粗略看了java,这会儿针对一些还不是很清楚的问题写下自己的理解和笔记。

1、数据类型

直接存储不过多重复,对于引用存储类型一定要加以理解:

引用存储类型包括类类型、接口类型、数组类型等,存储模型是“间接存储”,创建引用数据类型时,首先在栈上给其引用(句柄)分配一块内存,而对象的具体信息则存储在堆内存上,然后由栈上面的引用指向堆中的对象。

栈里面存着各种逻辑,以及像整形,浮点型等数据,根据栈先进先出的原则,代码会一条条被执行,执行代码中包含着栈中可以存放的数据。但数据量过大的时候,存入栈中会明显影响性能。所以,我们将大量的数据存入堆中,之后,栈中放堆的地址。这样,在进行数据调用的时候,可以通过地址找到对应数据。

2、运算符

注意精准度的问题:当两个操作数之间的类型不一致时,系统需要将不同的数据类型转换为精度最高的数据类型,以便尽可能的保证计算结果的准确性。

对于除法运算,程序中两个整数相除结果一定是整数

3、动态数组

Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。

1.语法:add()是添加一个新的元素,

remove()删除一个元素,

size()获得ArrayList的长度。

ArrayList的下标是从0开始。

2.示例代码

import java.util.ArrayList;

public class JavaArrayList {
       public static void main(String[]args) {
               //Java动态数组的初始化
               ArrayList al=new ArrayList();
               //向Java动态数组中添加数据
               al.add("a");
               al.add("b");
               al.add("c");
               //输出Java动态数组
               for(int i=0;i<al.size();i++) {
                        String alEach=(String)al.get(i);
                         System.out.println(alEach);
               }
               //删除数组中的某个元素,删除第二个元素
               al.remove(1);
               //修改Java动态数组,把新的元素放到第二个位置
               al.add(1,"2");
               //输出Java动态数组
               for(int i=0;i<al.size();i++) {
                         String alEach=(String)al.get(i);
                         System.out.println(alEach);
                }
        }
}

输出如下:

a
b
c
a
2
c

PS:java的一维动态数组一般是使用集合的:ArrayList,HashMap等

泛型:

ArrayList<T> a = new ArrayList<T>();

时间: 2024-10-14 18:57:44

2nd-Android编程基础笔记的相关文章

android 编程学习笔记

一. 要编安卓程序,首先得有个IDE. 安装过程网上有的,很详细.在这里就不赘述了.(很坑的是google被墙,导致SDK manager下不动,还好修改了hosts文件后能下载了) 二. 开始正经编程了.首先创建了一个空白的android project,然后创建AVD准备运行.AVD启动实在太慢了,刚开始我还以为是卡死了呢... 终于可以运行了,可是打开程序后居然直接闪退,还返回了一个“unfortunately, *** has stopped.” 这简直是在逗我啊.我这只是一个空白工程啊

Python网络编程基础笔记

第一部分:底层网络 第一章:客户/服务器网络介绍 1.1 理解TCP基础 TCP/IP事实上是一些协议的合集.当前大多数使用中的通信都使用TCP协议. 为了实现共享,TCP是通过把您要发送的数据流分解成很多小信息包在Internet上传输的(也许还伴有其他程序的信息包),而这些信息包到了接收者的地方会再次重新合成在一起. Internet连接就会用很少的时间来发送数据的每一个比特(bit),而其他程序的信息包也可以同时被传送. 1.1.1 寻址 第二章:网络客户端 第三章:网络服务器 第四章:域

Delphi的面向对象编程基础笔记

1.面向对象.一门面向对象的编程语言至少要实现以下三个OOP的概念 封装:把相关的数据和代码结合在一起,并隐藏细节.封装的好处是利用程序的模块化,并把代码和其他代码分开 继承:是指一个新的类能够从父类中获取属性和方法,这种概念能够用来建立VCL这样的多层次的对象,首先建立通用对象,然后创建这些通用对象的有专用功能的子对象.继承的好处是能够共享代码 多态性:从字面上看,是指多种形状.调用一个对象变量的方法时,实际被调用的代码与实际在变量中的对象的实例有关. 2.Object Pascal不像C++

C++编程基础笔记章节六

类相关,这个比较长了

Linux shell编程基础笔记

1.shell变量本地变量:a=1    (等号两边不能出现空格)只读变量:readonly 变量名=变量值    (在使用过程中不能更改)声明变量:linux给变量赋值时默认是字符或字符串型,如果需要数值运算,需要事先声明declare 参数 变量名[=变量值]declare的参数: -a:数组 -i:整型 -r:只读设置整型变量,除了用declare -i声明以外,还可以:a=$(($a+1)) or a=$[a+1]清除变量:unset 变量名(只读变量无法清除)访问shell变量:set

Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介

Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- Android包 : android.net 包 (1接口, 19类, 3枚举, 1异常), android.net.http 包 (6类), android.net.nsd 包 (3接口, 2类), android.net.rtp (4类), android.net.sip 包 (1接口, 9类, 1

Android 网络编程 API笔记 - java.net 包相关 接口 api

Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- Android包 : android.net 包 (1接口, 19类, 3枚举, 1异常), android.net.http 包 (6类), android.net.nsd 包 (3接口, 2类), android.net.rtp (4类), android.net.sip 包 (1接口, 9类, 1

《Android编程权威指南》-读书笔记(三)Git初探

<Android编程权威指南>-读书笔记(三)Git初探 版本控制-Git 为什么要使用版本控制 什么是版本控制?我为什么要关心它呢?版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.在本书所展示的例子中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,你可以对任何类型的文件进行版本控制. 如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本(这或许是你非常渴望拥有的功能).采用版本控制系统(VCS)是个明智的选择.有了它你就

Linux 程序设计学习笔记----终端及串口编程基础之概念详解

转载请注明出处,谢谢! linux下的终端及串口的相关概念有: tty,控制台,虚拟终端,串口,console(控制台终端)详解 部分内容整理于网络. 终端/控制台 终端和控制台都不是个人电脑的概念,而是多人共用的小型中型大型计算机上的概念. 1.终端 一台主机,连很多终端,终端为主机提供了人机接口,每个人都通过终端使用主机的资源. 终端有字符哑终端和图形终端两种. 控制台是另一种人机接口, 不通过终端与主机相连, 而是通过显示卡-显示器和键盘接口分别与主机相连, 这是人控制主机的第一人机接口.