------------------------------------------------------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集第一季笔记相关推荐

  1. python课堂笔记课后练习(高琪400集第一季)

    背景:纯python小白一个,跟着视频学了学python,做做练习.如果有什么错误或者更好的办法,跪请大佬们和我分享~(持续更新) 1.#定义一个函数实现反向输出一个整数,如:输入3245,输出543 ...

  2. 【133天】尚学堂高淇Java300集视频精华笔记(71-72)

    第71集:常用类/file类/打印目录树状结构/递归算法 课堂代码 package com.test071;import java.io.File;public class Test071 {publ ...

  3. 【138天】尚学堂高淇Java300集视频精华笔记(84)

    第84集:太阳系模型/基本类的封装/Star类的建立 本集知识点 将对象尽可能的抽象,可以有效减少代码量,比如此例中的Star类 package com.test084_087_solar;impor ...

  4. 【135天】尚学堂高淇Java300集视频精华笔记(74-76)

    第74-75集:异常机制.trycatchfinallyreturn执行顺序.捕获异常.声明异常throw.方法重写中异常的处理.手动抛出异常 异常的处理办法一:捕获异常 try try语句指定了一段 ...

  5. 【131天】尚学堂高淇Java300集视频精华笔记(65-66)

    第65集:常用类Date类的使用JDk源码分析 Date时间类(java.util.Date) 在标准Java类库中包含一个Date类.它的对象表示一个特定的瞬间,精确到毫秒. Date()分配一个D ...

  6. 【147天】尚学堂高淇Java300集视频精华笔记(108-109)

    第108集:容器equals和hashcodeJDK源代码分析 本集知识点 Java中规定,若两个对象equals比较后内容相等(为true),则hashCode必须相等,反之不然.[原因见内存分析图 ...

  7. 《金文女神解说VB基础入门系列视频教程》300集 第一章笔记

    第一章 Visual Basic 程序开发环境 第一节 Visual Basic 的启动与退出 一.启动VB的四种方法: 1.使用"开始"菜单中的"程序"命令. ...

  8. 【153天】尚学堂高淇Java300集视频精华笔记(122-123)

    叨叨两句(2017.7.8) 我现在发现我太适合当程序员了,稍微懂点知识后想法就一堆一堆的,哈哈. 今天敲下面这个冒泡排序时感觉太特么好了.原来学编程最快乐的事情就是懂了一些知识后,把它变成可以在电脑 ...

  9. 电商交易背景知识合集第一季

    郑昀编纂 基于网络资料 创建于2015/9/7 最后更新于2015/9/7 特别感谢知乎梁川.天顺等知乎网友的精彩回答 本文档适用人员:交易领域的产品研发人员 提纲: 银联 一些错综复杂的关系 银联是 ...

最新文章

  1. python围绕点旋转
  2. 编程笔试(解析及代码实现):国内各大银行(招商银行/浦发银行等)在线笔试常见题目(猴子吃桃/字符串逆序输出/一段话输出字的个数/单词大小转换等)及其代码实现(Java/Python/C#等)之详细攻略
  3. C++异常处理,Error,C和C++ 解决容错,栈自旋,Standard Exception【C++异常处理】(60)
  4. python decorator. decorator_Python装饰器(decorator)
  5. 【洛谷 1969】积木大赛
  6. sqlmap (--os-shell)的使用
  7. leetcode 1. 两数之和 思考分析
  8. Linux 中 elasticsearch6.3.0 单机安装
  9. 开发者如何学好 MongoDB
  10. Redis学习-string数据类型
  11. Redis——Java连接Redis
  12. python web自动化测试框架搭建(功能接口)——功能测试模块
  13. 是不是每一个型号的单片机都要学一遍
  14. leetcode - Recover Binary Search Tree
  15. 下载编译goldfish内核
  16. ps的基本操作和知识
  17. NLPCC20@基于图注意网络的句子成分感知细粒度情感分析模型SCAN
  18. 银行,金融行业的清算,结算到底是什么含义
  19. 各种锂电池的放电倍率和计算方法
  20. 计算机一个远程控制用户怎么回事,电脑不能被远程控制怎么办

热门文章

  1. 2.Moving Problematic Files To A Separate Folder
  2. PogoPlug安装迷你云
  3. 为什么单片机需要时钟系统,时钟信号在单片机中扮演怎样的角色?
  4. 实现选择器(picker)插件
  5. 【最强大脑vs人工智能】脑王水哥王昱珩惜败人工智能, 这不可能. - 图像识别到底是什么鬼
  6. 【福利】成为专业程序员路上用到的各种优秀资料、神器及框架
  7. 无监督单目深度估计 Unsupervised Monocular Depth Estimation with Left-Right Consistency 论文方法分析
  8. 使用office365邮箱的时候 O365: 451 5.7.3 STARTTLS is required to send mail
  9. wps中的相交_wps演示2016版中我找不到合并形状相交这个功能
  10. 手术或电力史发展简述