【JavaSE】高淇300集第一季笔记
------------------------------------------------------1、如何学习--------------------------------------------------------------
1、培养高手是培养高手的学习习惯。
2、Java
企业级服务器端开发
Android开发
Object-C(IOS)
C#(.NET平台)
PHP
C++
C
……
------------------------------------------------------2计算机语言发展------------------------------------------------------
所有计算机都是基于冯诺依曼体系结构
第一台计算机诞生于费城
1、计算机语言发展史(向着人更加容易使用的方向发展)
一代:机器语言
二代:汇编语言
三代:高级语言
面向过程:C、Fortran、COBOL、Pascal、ADA
面向对象:C++、Java(跨平台)、C#
2、java历史:
3.Java核心优势:跨平台
4.java三大版本的区别
JavaEE:定位于服务器端的应用
JavaSE:定位于个人计算机上的应用
JavaME:定位于消费性电子产品的应用
----------------------------------------------------------------------------------3JDK--------------------------------------------------
1.JDK、JRE、JVM的区别:
JDK:JavaDevelopment Kit Java开发工具包
JRE:JavaRuntime Environment Java运行时环境
JVM:JavaVirtual Machine Java虚拟机
JDK(JRE(JVM))
2.JDK的下载安装:
3.环境变量配置:
JAVA_HOME:C:\Program Files\Java\jdk1.6.0_14
path(执行dos命令,系统会在path指定的路径中寻找该命令对应的可执行文件)
将"%JAVA_HOME%\bin"增加到path中;多个目录用分号隔开
classpath
JDK5.0以上版本,可以不对其进行配置!
4.测试安装成功:
JDK安装到C盘就可以,不会影响电脑速度
-----------------------------------------------------4第一个程序----------------------------------
安装目录、开发目录尽量用英文。
1.好的文本编辑器:Notepad++、UltraEdit、EditPlus
2.第一个程序:
public class Welcome{public static void main(String[] args){ //args即arguement即参数的意思System.out.println("Hello World");}
}
3.Dos命令cd的意思:change directory
-------------------------------5 helloworld深化_文本编辑器的使用_注释--------------------------------
IDE集成开发环境(Integrated Development Environment)
JBuilder(基本淘汰)
Eclipse(重点)
NetBeans
Java区分大小写
~~~~~~~~~
注意:
不是一个Java文件对应一个class,一个Java文件可有多个class类,但是一个类对应一个字节码文件(即.class文件)
若有个class前面加了public,则此class的类名必须和文件名一致,public类只能有一个,其他类可以有多个。
/**/注释不可嵌套
~~~~~~~~~
常用dos命令
cd:进入一个目录,changedirectory
cd..:
dir:查看目录里的内容
上下键:查找敲过的命令
Tab键:命令自动补齐
--------------------------------------------------------------------6标识符---------------------------------------------
1.标识符
/**测试标识符的写法
*/
public class Welcome{public static void main(String[] args ){int $abc=3;int _123=3;//int 123abc=6;//标识符首字母不能以数字开头//int abc#=3;//标识符不能包含除了字母、数字、下划线、$之外的其他字符//int class=3;//不能用关键字来命名int 尚学堂=10;//java内部采用Unicode字符集,universal,两个字节表示一个字符,1字节=8位,2的8次=256,2个字节=16,2的16次=65536,能表示6万多个字}
}
2.字符集简(unicode和GBK)
ISO8859-1 西欧字符集(一个字节表示一个字符)
BIG5 台湾的大五码,表示繁体汉字
GB2312 大陆使用最早、最广的简体中文字符集
GBK GB2312的扩展,可以表示繁体中文
GB18030 最新GBK的扩展,中国所有非手持/嵌入式计算机系统的强制实施标准,可以表示汉字、维吾尔文、藏文等中华民族字符
Unicode 国际通用字符集,(两个字节表示一个字符)-->UTF-8、UTF-16(变长的,英文1个字节,阿拉伯文2个字节,中文3个字节)
3.各种字符集的关系
GB18030(GBk(GB2312(ISO8859-1)))
BIG5(ISO8859-1)
Unicode(ISO**59-1) GB18030与BIG5与Unicode不兼容
-------------------------------------------------------------7 整数---------------------------------------------------------
java是一种强类型语言,每个变量都必须声明其类型(因为java运用太广,从服务器到手机,跨很多平台,有些对内存资源要求比较苛刻,要用少字节的类型,有的地方无所谓,如服务器环境)
1.数据类型:
1.基本数据类型(8种)
1.1数值型
1.1.1整数类型(byte,short,int,long)
1.1.2浮点类型(float,double)
1.2字符型(char)
1.3布尔型(boolean)
2.引用数据类型
2.1类(class)
2.2接口(interface)
2.3数组
byte 占1个字节 表示范围:-128~127
short 2 -32768~32767(大约正负3万)
int 4 -(2的31次)~(2的31次-1)(大约正负21亿)
long 8 -(2的63次)~(2的63次-1)
2.进制转换_编程中的L问题
public class TestDataType{public static void main(String[] args){int a=10; //默认都是表示十进制的,int a2=010; //定义八进制数,八进制首字符为0,输出结果:8int a3=0x10; //定义十六进制数,输出结果:16int a3=0xf; //定义十六进制数,输出结果:15System.out.println(a);byte b=200;System.out.println(b);//报错,200不能用byte来表示,超范围了System.out.println(Integer.toBinaryString(a));//将a转为二进制数,输出结果:1010System.out.println(Integer.toOctalString(a));//将a转为八进制数,输出结果:12System.out.println(Integer.toHexString(a));//将a转为进制数,输出结果:aint a5=10;//Java整型常熟默认为int型,即已定义a5为int型,而数字10前面什么都没写,即默认为int型,a5与10类型匹配,不会出出错long a6=200;//200没有超过long的表示范围byte b2=100;//若果数据的大小没有超过byte/short/char的表述范围,则可以自动转型//byte b2=200;//超过范围,报错,丢失精度long a7=11111111323;//报错,11111111323超出了long的表示范围long a7=11111111323L;//在11111111323后加L(大写小写都可,但小写容易看成数字1)即可把此数转为long类型的数据(默认为Int)}
}
---------------------------------------------------------------8 浮点型-------------------------------------------------------
1,浮点数浮
float 4字节
double 8字节
public class TestFloatType{public static void main(String[] args){double d=3.14//整形默认为int,浮点型默认为double即默认3.14为double,且已定义d为double,float f=6.26F //将6.26转为float,即6,。26用4个字节表示,变量f用4个字节表示,不会出错double d2=314e-2;//采用科学技术方的写法System.out.println(d2);//输出结果:3.14float f1=0.1F;double d3=1.0/10;System.out.println(f1==d3); //false,浮点数在内存里表示是有误差的,内存里可能一个表示是0.1,另一个是0.09999999,浮点数算比较运算时尽量避免使用比较运算符}
}
2.浮点数误差问题
int型表示范围大约正负21亿,float表示范围正负(3.403乘以10的38次)为何同为4个字节表示,差距这么大呢?
int用4个字节表示的-(2的31次)~(2的31次-1)其中的每个数都是精确表示的
而float表示的正负(3.403乘以10的38次)这么多数(近似无穷多个),不能精确表示所有小数,有舍入误差
浮点数存在舍入误差,很多数字不能精确表示,如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类
Long8个字节,可以表示很大的整数,但若超了范围,可用另一个类BigInteger
----------------------------------------------------------------9 char与double----------------------------------------------------
char是在0~65535范围,运算时直接当做整数来运算,可以把0~65535之间的整数直接转型为char。
public class TestFloatType{public static void main(String[] args){char c1='a';char c2='上';//java内部采用unicode字符集(通用字符集),2个字节,表示65536个字符(0~65535)char c3='\n';System.out.println(c1);System.out.println(c3);System.out.println(c2);char c4='a';int i=c4+2;System.out.println(i);//输出结果:99;a在ASCII表中对应97char c5=i;//报错,可能损失精度char c5=(char)i;//强制转型System.out.println(c5);//循环打印a-zfor(int j=0;j<26;j++){char temp=(char)(c4+j);System.out.println(temp);}//java里的字符串,是定义成String类了String str="ahuisaxcuiashxuas";System.out.println("\n"+str);boolean b=true;//falseif(true){System.out.println("true");}if(b){ //if(b==true)这样写不好System.out.println("true");}}
}
-------------------------------------------------10 类型转换--------------------------------------------------------------------------------
1.基本数据类型自动转换
容量小的数据类型可自动转化为容量大的数据类型。(容量不是指字节数,而是指表述的范围。)
特例:
可以将整型常量直接赋给byte,short,char等类型变量,而不需要强制类型转换,只要不超过其表数范围。
short b=12;//合法
short b=1234567;//非法
2.强制转型
//测试自动转型和强制转型
public class TestCastType{public static void main(String[] args){/*测试自动转型*/byte b=123;//byte的范围-128~127,整数123在byte的表示范围内,可以自动转型//byte b2=300;//报错,300不在-128~127之间//char c=-3;//报错,-3不在0~65535之间char c2='a';int i=c2;//char自动转为intlong d01=123422;float f=d01;//long可自动转为float,float4个字节,long8个字节,但是否可自动转换看的是表示范围而不是字节数。/*测试强制转型*/int i2=100;char c3=(char)i2;System.out.println(c3);int i3=-100;char c4=(char)i3;//-100超过char的表数范围,所以转换成完全不同的值。无意义的值!System.out.println(c4);}
}
类型提升问题
【JavaSE】高淇300集第一季笔记相关推荐
- python课堂笔记课后练习(高琪400集第一季)
背景:纯python小白一个,跟着视频学了学python,做做练习.如果有什么错误或者更好的办法,跪请大佬们和我分享~(持续更新) 1.#定义一个函数实现反向输出一个整数,如:输入3245,输出543 ...
- 【133天】尚学堂高淇Java300集视频精华笔记(71-72)
第71集:常用类/file类/打印目录树状结构/递归算法 课堂代码 package com.test071;import java.io.File;public class Test071 {publ ...
- 【138天】尚学堂高淇Java300集视频精华笔记(84)
第84集:太阳系模型/基本类的封装/Star类的建立 本集知识点 将对象尽可能的抽象,可以有效减少代码量,比如此例中的Star类 package com.test084_087_solar;impor ...
- 【135天】尚学堂高淇Java300集视频精华笔记(74-76)
第74-75集:异常机制.trycatchfinallyreturn执行顺序.捕获异常.声明异常throw.方法重写中异常的处理.手动抛出异常 异常的处理办法一:捕获异常 try try语句指定了一段 ...
- 【131天】尚学堂高淇Java300集视频精华笔记(65-66)
第65集:常用类Date类的使用JDk源码分析 Date时间类(java.util.Date) 在标准Java类库中包含一个Date类.它的对象表示一个特定的瞬间,精确到毫秒. Date()分配一个D ...
- 【147天】尚学堂高淇Java300集视频精华笔记(108-109)
第108集:容器equals和hashcodeJDK源代码分析 本集知识点 Java中规定,若两个对象equals比较后内容相等(为true),则hashCode必须相等,反之不然.[原因见内存分析图 ...
- 《金文女神解说VB基础入门系列视频教程》300集 第一章笔记
第一章 Visual Basic 程序开发环境 第一节 Visual Basic 的启动与退出 一.启动VB的四种方法: 1.使用"开始"菜单中的"程序"命令. ...
- 【153天】尚学堂高淇Java300集视频精华笔记(122-123)
叨叨两句(2017.7.8) 我现在发现我太适合当程序员了,稍微懂点知识后想法就一堆一堆的,哈哈. 今天敲下面这个冒泡排序时感觉太特么好了.原来学编程最快乐的事情就是懂了一些知识后,把它变成可以在电脑 ...
- 电商交易背景知识合集第一季
郑昀编纂 基于网络资料 创建于2015/9/7 最后更新于2015/9/7 特别感谢知乎梁川.天顺等知乎网友的精彩回答 本文档适用人员:交易领域的产品研发人员 提纲: 银联 一些错综复杂的关系 银联是 ...
最新文章
- python围绕点旋转
- 编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略
- C++异常处理,Error,C和C++ 解决容错,栈自旋,Standard Exception【C++异常处理】(60)
- python decorator. decorator_Python装饰器(decorator)
- 【洛谷 1969】积木大赛
- sqlmap (--os-shell)的使用
- leetcode 1. 两数之和 思考分析
- Linux 中 elasticsearch6.3.0 单机安装
- 开发者如何学好 MongoDB
- Redis学习-string数据类型
- Redis——Java连接Redis
- python web自动化测试框架搭建(功能接口)——功能测试模块
- 是不是每一个型号的单片机都要学一遍
- leetcode - Recover Binary Search Tree
- 下载编译goldfish内核
- ps的基本操作和知识
- NLPCC20@基于图注意网络的句子成分感知细粒度情感分析模型SCAN
- 银行,金融行业的清算,结算到底是什么含义
- 各种锂电池的放电倍率和计算方法
- 计算机一个远程控制用户怎么回事,电脑不能被远程控制怎么办
热门文章
- 2.Moving Problematic Files To A Separate Folder
- PogoPlug安装迷你云
- 为什么单片机需要时钟系统,时钟信号在单片机中扮演怎样的角色?
- 实现选择器(picker)插件
- 【最强大脑vs人工智能】脑王水哥王昱珩惜败人工智能, 这不可能. - 图像识别到底是什么鬼
- 【福利】成为专业程序员路上用到的各种优秀资料、神器及框架
- 无监督单目深度估计 Unsupervised Monocular Depth Estimation with Left-Right Consistency 论文方法分析
- 使用office365邮箱的时候 O365: 451 5.7.3 STARTTLS is required to send mail
- wps中的相交_wps演示2016版中我找不到合并形状相交这个功能
- 手术或电力史发展简述