java4android 听课笔记_Java4Android 课程笔记
Java4Android 课程笔记
第一集 1、名词介绍: 4:代表for;
2、java考古学: 主要介绍java发展史; 讨论java的未来发展; 问题: 学习一样东西,不去了解发明他的人,可行吗?
第二集 1、什么是编程 一种和计算机沟通的语言; 一种创造性的工作; 让上帝与你同在;
2、JDK的安装和配置 JDK就是java开发工具的集合; windows需要设置PATH和CLASSPATH环境变量; PATH:C:\Program Files\Java\jdk1.7.0_40\bin; CLASSPATH:.;
3、创世纪(Hello World) 代码: public class HelloWorld{ public static void main(String[] argv){ System.out.println("Hello World!"); } } 编译并运行: javac HelloWorld.java java HelloWorld
第三集 1、什么是环境变量 指定操作系统运行时参数; 通常是键值对(一个名字等于一个值); PATH环境变量作用: 提供命令的搜索路径。 CLASSPATH环境变量的作用: 提供要运行的类文件的搜索路径。
2、JDK里面有什么 开发工具、例子、头文件、jre、包文件、帮助文档、一部分java的源文件;
3、什么是JRE java运行时环境; 含java虚拟机、java平台核心类文件、其他支持文件;
4、什么是JVM java虚拟机的缩写; 软件虚拟出来的计算机; java程序运行在JVM上; 只要系统安装了jvm,就可以运行java程序,而不用对java程序进行任何修改; 这也是java的跨平台实现方式;
第四集 重点:java的语法; 1、什么是变量
2、变量的声明 类型 变量;
3、变量分为哪些类型 基本数据类型(原始数据类型): 数值型 整数类型(byte,short,int,long) 浮点类型(float,double) 字符型(char) 布尔型(boolean) 引用数据类型: 类(class) 接口(interface) 数组
4、变量的命名规范 语法规范: 以字母、下划线或者美元符开头; 后面跟字母、下划线、美元符或者是数字; java变量名没有长度限制; java变量名对大小写敏感; 驼峰命名: 变量名应该使用有意义的英文单词; 如果变量名只有一个单词,则所有的字母小写; 变量名如果由多个英文单词组成,则从第二个单词开始首字母大写; 如: public class Test { public static void main(String args[]) { int age = 20; int myAge = 20; int $age = 20; int _age = 20; int Age = 20; // 不符合驼峰命名法 int 1age = 20; // 变量名错误 } }
第五集 1、java数据类型分类 第四集 3
2、boolean类型变量的特征 使用逻辑运算,一般用于程序流程控制; 只有两种值: true和false; 且不能用0和非0,或者空和非空来表示;
3、char类型变量的特征 Unicode字符集 为每种语言的每个字符设定了统一并且唯一的二进制码; 最多允许1114112个字符;
乱码 字符存入时使用A字符集,读取时使用其他字符集就会出现乱码;
由于java使用的Unicode字符集,所以一个char类型变量可以存一个汉字; 如: char c = '中'; // 写代码时必须以ANSI格式编码;这点与视频讲述的不同;
补充:如果代码保存时采用的utf-8字符集,在win命令行下编译时需指定字符集,因为命令行默认字符集是ANCI:
javac -encoding utf-8 xxx.java
即可将字符变量打印出来;
如果在win下默认保存的是ANCI字符集,则在命令行下直接编译即可正常打印出字符类型的汉字;
char c = 'u';char zh = '呵';
System.out.println(zh+ "" + c); //正常打印//System.out.println(zh + c);//本行打印出来将会一串数字
4、数值型变量的特征 整型常量的三种表示方式: 十进制:如12,-33,0等; 八进制:以0开头,如012等; 十六进制:以0x或0X开头,如0X12,0x12等;
整型常量默认为int型,如 int i = 3; 声明long型常量可以后后加'l'或者'L',如 long l = 3L;
第六集 练习 基本数据类型的赋值与运算 1、打印布尔类型值
2、打印char型变量
3、创建各种类型的变量,然后做运算; 字面量: float类型赋值: float f = 0.1f; // 若写0.1会出错,提示损失精度; 小数默认为double型,使用float则需加f或F; 如: float a = 0.5 * 10; 编译出错;赋值号右边默认是double型; 正确的是: float a = 0.5f * 10; int b1 = 0; long b2 = 0; b1 = b2; // 编译出错,可能损失精度; 范围大的类型变量不能赋值给范围小的变量; 可以通过强制转换通过编译,但是可能会引起溢出导致结果不正确; byte和short例外,可以用整型直接赋值,但是编译器会对具体值进行判断; byte < short < int < long < float < double
第七集 1、运算符的分类 算术运算符:+,-,*,/,%,++,--; 关系运算符:>,=,<=,==,!=; 布尔逻辑运算符:!,&,|,&&,||; 位运算符:&,|,^,~,>>,<>>; 赋值运算符:= 扩展赋值运算符:+=,-=,*=,/=; 字符串连接运算符:+
2、各种运算符的使用方法 07Test
& 逻辑与:int i = 5; boolean j = i > 6 & i++ > 7; 判断 i > 6 为false,i++ > 7 为flase,i值加1; && 短路与:int i = 5; boolean j = i > 6 && i++ > 7; 判断 i > 6 为false,i++ > 7 就不再判断,i值还为5; 08Test
| 逻辑或: || 短路或:
3、什么是表达式
第八集 …… 第十六集
第十七集 1、静态成员变量的语法特点 可以直接使用类名调用; 所有对象使用的静态变量是同一份;
2、静态成员函数的语法特点 可以直接使用类名调用; 不能直接使用非静态成员变量; 因为静态成员函数可以直接由类名调用,这种情况下是没有对象的; 所以无法调用对象的成员变量,此时就只能调用静态成员变量; 静态成员函数中不能使用this;
3、静态代码块的语法特点 static{……} 没有名字,在装载类时自动执行; 主要作用就是为静态成员变量赋初始值;
第十八集 继承 1、什么是继承 java只支持单继承,不允许多继承; 关键字:extends 子类继承父类的成员变量和成员函数;
2、为什么要使用继承 方便性,共同代码需要修改时只需对父类的成员进行修改,所有子类的成员也随之被修改; 即: 减少重复代码;
3、继承的基本语法特点 clsaa 子类名 extends 父类名 { }
第十九集 子类的实例化过程 1、生成子类的过程 先调用父类的构造函数,再调用子类的构造函数;
2、使用super调用父类的构造函数方法; 在子类的构造函数中,一定会调用父类的构造函数; 开发人员不调用的话,编译器会自动在子类的构造函数中的第一行加一句: super(); 来调用父类的构造函数; 编译器自动加的该语句只是调用父类的无参构造函数; 这个语句必须是子类构造函数的第一个语句; 子类调用父类的构造函数,根据参数的个数,类型来决定调用父类的哪个构造函数;
第二十集 函数的复写 1、函数的复写 子类的函数与父类的函数无论函数名、返回值类型、参数列表等信息都一致的话,就是子类对父类函数的复写;
2、使用super调用父类的成员函数; 使用super.xxx();调用父类的成员函数; 复写过程中子类中复写的函数调用super.xxx();就是不覆盖父类的函数,而是在父类的方法基础上加语句; 复写过程中不调用super.xxx();则是覆盖父类的函数; 复写过程中子类的对象调用的是子类的函数; 父类的对象调用的是父类的成员函数; 在子类中复写父类的成员函数;
第二十一集 对象的转型 对多态的体现 1、对象的向上转型 将子类的对象赋值给父类的引用; 如: 子类:Student;父类:Person; Student s = new Student(); Person p = s; 一个引用能够调用哪些成员变量,取决于这个引用的类型; 子类中新定义的成员变量,父类的引用是无法使用的; 引用调用的是哪一个方法,取决于引用指向的对象; 指向的对象若对父类该方法进行了复写,则调用子类中复写过的方法;若没有复写,则调用父类中的方法; 引用不能调用子类中的非复写方法;
2、对象的向下转型 子类:Student;父类:Person; Student s1 = new Student(); Person p = s1; Student s2 = (Studnt)p; 向下转型的过程是先向上转型,再向下转型; 直接生成一个父类对象,无法直接转成子类对象,编译不会出错,但是运行会出现类型转换的异常;
第二十二集 面向对象应用(一) 1、如何使用面向对象的特征,满足客户提出的需求变化; 面对重复代码使用继承来解决,方法差异使用复写解决;
第二十三集 抽象类和抽象函数 1、抽象函数的语法特征 只有函数的定义,而没有函数体的函数称为抽象函数; abstract void fun(); // 只有定义(C语言的声明),没有函数体(C语言的定义); 类中若有抽象函数,则该类必须设置为抽象类; 类中没有抽象函数,也可以被声明为抽象类; 非抽象的子类不能使用抽象类生成对象,不可以调用抽象类的任何成员; 抽象类的子类可以调用父类的静态成员; 可以设置一个类为无抽象函数抽象类的子类,其他类利用该类间接调用抽象类的所有成员; 抽象类不能生成对象,因为抽象类的抽象函数没有函数体; 所以抽象类天生是当爹的,只能被继承; 继承抽象类的类也必须被声明为抽象类,或者复写父类(抽象类)的抽象函数; 抽象类可以拥有构造函数,不过是为子类提供的; 不可以直接通过 new 抽象类 来调用抽象类的构造函数,但是可以通过子类构造函数的super()来调用; 如Person是一个抽象类,Chinese是Person的子类,创建对象时这样调用:Person p = new Chinese(); 在创建Chinese类的对象时就可以间接的调用Person类的构造函数和复写Person类的抽象函数;
2、抽象类的语法特征
3、抽象类的作用
java4android 听课笔记_Java4Android 课程笔记相关推荐
- python课程笔记_Python课程笔记(一)
由于新冠状病毒的爆发,不得不在家里上网课,开课已经两个礼拜了,今天上完Python课后,准备整理一下最近学习Python的笔记. 人生苦短,我用Python 一.Hello World 初学一门新的语 ...
- Java语言学习笔记——20121221课程笔记
一.计算机的基础知识 1.什么是计算机 能够处理海量数据,并且能高速运行程序的一套电子设备 应用场景:云计算(一码通)/多媒体应用看电影/科学计算/计算机辅助设计(CAD工程制图)/数据的处理 组成: ...
- 【NLP】CS224N课程笔记|词向量I: 简介, SVD和Word2Vec
NewBeeNLP原创出品 公众号专栏作者@Ryan 知乎 | 机器学习课程笔记 CS224N课程笔记系列,持续更新中 课程主页: http://web.stanford.edu/class/cs2 ...
- 【原】机器学习公开课 目录(课程笔记、测验习题答案、编程作业源码)...持续更新......
之前看过的机器学习课程.本文是相关课程笔记.习题答案.作业源码的电梯. 1 Coursera 斯坦福机器学习课程,Andrew Ng 1.1 说明 课程地址和软件下载 Coursera连接不上(视频无 ...
- 李宏毅老师《机器学习》课程笔记-3卷积神经网络
注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片除了一幅我自己绘制的图和一幅来自 Stanford cs231n 教程的图,其余图片均来自课程 ...
- 李宏毅老师《机器学习》课程笔记-2.1模型训练技巧
注:本文是我学习李宏毅老师<机器学习>课程 2021/2022 的笔记(课程网站 ),文中图片除了两幅是我自己绘制外,其余图片均来自课程 PPT.欢迎交流和多多指教,谢谢! 文章目录 Le ...
- 斯坦福大学李飞飞团队图像分类课程笔记
斯坦福大学李飞飞团队图像分类课程笔记 Stanford image classification course notes 这是斯坦福CS231n课程图像分类基础知识. 目标:这一节先介绍图像分类基本 ...
- Udacity机器人软件工程师课程笔记(五)-样本搜索和找回-基于漫游者号模拟器-自主驾驶
9.自主驾驶 在接下来的环节中,我们要实现漫游者号的自动驾驶功能. 完成这个功能我们需要四个程序,第一个为感知程序,其对摄像头输入的图片进行变换处理和坐标变换使用.第二个程序为决策程序,功能是帮助漫游 ...
- 这份深度学习课程笔记获吴恩达点赞
来源:机器之心 本文共7470字,建议阅读8分钟. 通过本文用优美的信息图为大家解读深度学习课程的知识与亮点~ 吴恩达在推特上展示了一份由 TessFerrandez 完成的深度学习专项课程信息图,这 ...
- Yann Lecun纽约大学《深度学习》2020课程笔记中文版,干货满满!
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]Yann Lecun在纽约大学开设的2020春季<深度学习>课 ...
最新文章
- Python学习——反射
- Matlab循环读取txt文件并对其中数据进行计算最后导出为excel
- python中国内源_【文】Python更换国内镜像源
- WinLogon事件通知包编程
- golang 数据一 (字符串、数组和数组指针)
- 2级c语言程序设计无忧考试,无忧考吧二级c模拟考试系统
- zabbix重点笔记
- bilibili弹幕下载方法
- 鲸云效解读A/B测试,get这一篇就够了
- 一行代码学会Java--2.用IDEA神器编写“你好,Java”
- 后台任务列表 App 界面模糊处理
- python爬取英雄联盟所有皮肤价格表_python 爬取英雄联盟皮肤并下载的示例
- 【Python turtle 画爱心】实战学习
- [三星移动硬盘] 磁盘必须经过格式化(无法显示)
- FC下常用软件的安装配置
- PMP 项目管理 考前专题(02)敏捷开发专题总结
- 如何在 html 中插入天气插件
- 微信新增彩蛋表情,遭网友疯狂吐槽
- mysql身份证号校验函数
- Qt可拖拽排序表格(解决滚动条不兼容问题,类似QQ好友分组排序)
热门文章
- 腾讯云数据库CDB介绍及数据库与应用数据库分析
- 计算机打印机图标删除吗,打印机图标不见了怎么办 打印机图标消失的解决方法...
- java云笔记_java版云笔记(一)
- 矩阵标准型的系数是特征值吗_高等代数|第五章 二次型二次型及其标准型
- 有人在研究arroundme 吗,一个开源的php社会化网络程序
- 用python发邮件为什么接收不了_如何使用python发送邮件和接收邮件?
- git如何拉去开发的 最新代码_git拉取代码到本地
- 更新git 分支代码到最新
- NMT:神经网络机器翻译
- H5多媒体视频播放器的使用及常用属性