首先看下本次课程的内容,要有耐心往下看哟~

什么是移动互联网呢?

移动互联网,就是将移动通信和互联网二者结合起来,成为一体。是指互联网的技术、平台、商业模式和应用与移动通信技术结合并实践的活动的总称。

操作系统和平台的相关性

操作系统:(Operating System,简称OS):是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

系统分类:

Unix家族和Windows家族;

那么用户和操作系统以及软硬件之间的关系是什么样呢?

平台(硬件+OS)相关性:

我们称能够支持程序运行的硬件或软件环境为平台。

不同的平台都有其特有的指令格式,也就是说Win支持的指令格式和Linux支持的指令格式是不一样的,

进而导致了Windows的可执行文件不能在Linux平台上运行,反之Linux的可执行文件也无法再Windows上运行,把这种情况称为平台相关性。

比如Windows系统的exe文件,Mac系统的app文件等等.

基础的理论掌握之后,接下来一起来看看Windows常用快捷键以及命令

Win键的样子

---编辑操作-----------------------------------------------------------------------------------------------------------

CTRL+C--------复制 CTRL+X--------剪切 CTRL+V--------粘贴

CTRL+A--------全选 CTRL+Z--------撤销 CTRL+S--------保存

---基本操作-----------------------------------------------------------------------------------------------------------

【Win】+D 显示桌面 【Win】+R 打开“运行" 【Win】+L 屏幕锁定

【Win】+E 打开“我的电脑” 【Win】+F 搜索文件 【ALT】+TAB AB项目切换

先使用 【Win】+R 打开“运行窗口",输入:

calc—>启动计算器 mspaint—>打开画图板

notepad—>打开记事本 cmd—>CMD命令提示符 截图工具

---常用命令-----------------------------------------------------------------------------------------------------------

盘符之间的切换: 盘符:回车,如进入E盘, E:回车

进入指定目录 :cd will

:cd javaseday01

目录的回退 :cd.. 回到上一级目录

:cd 回到盘符根目录

清屏 :cls

接下来咱们一起学习下“进制”

一个中国人喜欢听的谣言:

其大意是:莱布尼兹(数学家)通过在中国的传教士,得到了八卦图,他领悟到只要把八卦中的阴爻代表0,阳爻代表1,就可以创立一种新的记数法:二进制。

这一神话虽经部分数学史家之批驳,但至今仍广为传播。

--------------------------------------------------------

进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

---------------------------------------------------------

二进制:由两个基本数字0,1组成,运算规律是逢二进一.计算机都使用二进制表示数据.

八进制:由0、1、2、3、4、5、6、7组成,运算规律是逢八进一.

十进制:由0,1,2、3、4、5、6、7、8、9组成.

十六进制:由0~9以及A,B,C,D,E,F组成.

--------------------------------------------------------

二进制数系统中,位简记为b,也称为比特,每个二进制数字0或1就是一个位(bit)。

位是数据存储的最小单位,其中8 bit 就称为一个字节(Byte)

1B(byte,字节)= 8 bit;

1KB(Kibibyte,千字节)=1024B= 2^10 B;

1MB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;

1GB(Gigabyte,吉字节,十亿字节,又称“千兆”)=1024MB= 2^30 B;

1TB(Terabyte,万亿字节,太字节)=1024GB= 2^40 B;

1PB(Petabyte,千万亿字节,拍字节)=1024TB= 2^50 B;

进制之间的转换操作是怎么样的呢?

计算250的各个进制值。

十进制和二进制之间转换:

十进制--->二进制:(11111010)

对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。

二进制--->十进制:

进制数第0位的权值是2的0次方,第1位的权值是2的1次方,第2位的权值是2的2次方……公式:第N位 * 2的N次方,结果再相加.

-------------------------------------------------------------------------------

十进制和八进制之间转换:

十进制--->八进制:

10进制数转换成8进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成8。

八进制--->十进制:

进制数第0位的权值为8的0次方,第1位权值为8的1次方,第2位权值为8的2次方

-------------------------------------------------------------------------------

十进制和十六进制之间转换:

十进制--->十六进制:

10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:除数由2变成16。

十六进制--->十进制:

第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

-------------------------------------------------------------------------------

二进制和八进制之间转换:

二进制和十六进制之间转换:

八进制和十六进制之间转换:

为了更深入的学习,避不开“三码”

在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。

正数的原码,反码,补码都相同,负数稍微复杂。

操作5(101)和-5的二进制。

正数5的二进制:101

原码=101,反码=101,补码=101;

---------------------------------------

原码:

就是二进制表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

下面再了解下计算机语言和编程是怎么回事?

什么是计算机语言:

生活中的两个人的交流主要是方式无非是采用一种都能够识别的语言,那么也就是说该语言是他们之间传递信息的媒介。

那么什么是计算机语言呢?计算机语言是指用于人与计算机之间通讯的一种特殊语言,是人与计算机之间传递信息的媒介。

那计算机怎么能读懂我们给它发出的的信息呢?此时就需要编写一套由字符、数字所组成并按照某种语法格式的一串串计算机指令,而这些计算机指令就是计算机语言。

软件就是由若干条计算机指令所组成的。

计算机语言分类:

① 机器语言:直接用二进制指令表达,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。

② 汇编语言:使用一些特殊的符号来代替机器语言的二进制码(又称符号语言),计算机不能直接识别,需要用一种软件将汇编语言翻译成机器语言,汇编语言依赖于硬件体系,开发难度大。

③ 高级语言:使用一定格式的自然语言进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行,不直接操作硬件,把繁琐的翻译操作交给编译器完成。

我们将学习的Java就属于高级语言范畴。

什么是编程:

前面说了计算机语言就是用来实现人和计算机通讯的,那为什么人要和计算机通讯呢,其原因就是为了让计算机帮我们完成一些人为起来比较复杂的工作。

那计算机怎么知道我们要它解决的问题是什么,怎么知道解决问题的具体的步骤是什么呢?此时我们就得通过编程语言去告诉计算机去,做什么,怎么做。这种人和计算机之间交流的过程,我们称之为编程。

举例:计算机例子/分页的例子。

学习java你也该认识下SUN公司和java平台

计算机语言排行情况

美国SUN(Stanford University Network)公司,在中国大陆的正式中文名为“太阳计算机系统(中国)有限公司”。

1982年,SUN公司诞生于美国斯坦福大学校园,并于1986年上市,在NASDAQ(纳斯达克:是全美证券商协会自动报价系统)的标识为SUNW,2007年改为JAVA。

2009年4月20日19点40分,美国数据软件巨头甲骨文公司(Oracle)宣布以74亿美元收购SUN公司,从此Java也有“干爹”了,在这个拼爹的时代,Java的发展前景不容置疑。

帅气的高司令(java之父詹姆斯高斯林)

java三大平台:

java的跨平台和可移植性

平台的相关性:

WSindows平台只能运行windows的可执行文件。

Linux平台只能运行Linux的可执行文件。

---------------------------------------------------------

比如我现在以游戏开发者的身份,要使用某一种编程语言编写一套游戏软件,为了能在不同平台都能玩该游戏,我得为每一种平台制作一份可执行文件,就拿Win和Linux平台举例。

编写游戏 → Win版的可执行的游戏文件。

编写游戏 → Linux版的可执行的游戏文件。

这样看来,那我岂不是要为每一种平台都写一套游戏吗?假如某个软件只编写一次,就能够运行在任何平台之上(跨平台性、可移植性的本质),就太好了。

那如何做到该游戏的跨平台呢?

游戏玩家的角度如何玩该游戏:

0):下载游戏包、下载游戏模拟器

1):先安装游戏模拟器

2):启动游戏模拟器

3):选择指定的一个游戏包---》加载/载入。

4) :玩游戏。

-----------------------------------

游戏模拟器是不跨平台的,因为游戏模拟直接安装在系统里面。

windows系统: windows版游戏模拟器;

Linux系统: linux版游戏模拟器;

Mac系统: mac版游戏模拟器;

游戏可以这样实现跨平台,那么Java的跨平台性是怎么实现的呢?

也应该产生一种和系统平台无关的文件,然后再在各个平台的电脑上装上模拟器,让跨平台的文件运行在模拟器里,不就OK了么?---->引出JVM.JVM是不跨平台的,类似于游戏模拟器。

为什么不直接编写class文件.

JDK-JRE-JVM概述

见Java模型概念图:

JRE(Java Runtime Environment):Java运行环境,如果要运行Java程序,就需要JRE的支持,JRE里包含JVM。

JDK(Java Development Kit):Java开发工具,包含开发Java程序的所有工具,如javac和java等,JDK里包含JRE。

Java虚拟机(Java Virtual Machine),简称JVM,它是运行所有Java程序的虚拟计算机,好比是街机游戏的模拟器。

JVM是Java语言的运行环境,也是Java 最具吸引力的特性之一。JVM用于读取并处理编译过的与平台无关的字节码(class)文件,从而实现Java的可移植性。

但是值得注意的是Java虚拟机是不跨平台的。也就是说在Win下得装Win版的JVM,在Linux下装Linux版的JVM。

见图:选择不同平台的JDK版本

搭建Java的开发和运行环境

搭建Java的开发和运行环境:

步骤1:安装JDK;

步骤2:配置PATH环境变量:

----------------------------------

PATH变量用于指定Java开发工具的位置,如D:OpenSourcesjdk1.8.0_45in .

配置环境变量的过程和教研使用截图方式.

安装JDK注意:

1):jdk不要安装在带中文的路径下,最好也是不包含空格字符的英文路径;

2):避免C:WINDOWSsystem32出现所有名字以java开头的文件,有,删之;

3):常见问题:“javac不是内部或者外部命令”,原因是path配置错误。

第一个Java程序

开发第一个Java程序:

需求:在控制台输出:师姐那么美,我想去看看

注意:请同学们打开文件的拓展名(如有图)。

-------------------------------------------------------------------------------

开发步骤:

1):新建一个文本文档,改名为:Hello.java;

2):使用记事本打开Hello.java文件,键入以下内容;

3):进入Hello.java文件所在的目录:

4):编译Hello.java文件:

编译成功,会产生一份字节码文件:Hello.class.

编译失败,编译报错。

5): 启动JVM,并运行Java程序:

Java的编译和运行机制

classpath环境变量

CLASSPATH顾名思义就是class文件的路径,表示JVM从哪里去寻找class文件。

发现:默认情况下,JVM从当前路径去寻找指定的字节码文件。

------------------------------------------------------------------------

CLASSPATH = c: est就表示执行java命令时去c: est目录中去找需要被执行的class文件。

在java5之前CLASSPATH没有默认值,要是设置成当前路径的话,得使用“.”,

若CLASSPATH=.;c: est,就表示先在当前目录找class文件,要是没找到就去c: est目录找(当一个变量有多个值时,多个值之间用英文的分号隔开)。

从Java5开始CLASSPATH默认就是当前路径,一般情况下不需再指定。

若使用Java5以前的版本,设置CLASSPATH应该是:

.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar

dt.jar是关于运行环境的类库,主要是swing的包;tools.jar是工具类库;

后来SUN公司改进了JDK设计,JRE会自动搜索当前路径下的jar包,并自动加载dt.jar和tools.jar。那么从Java5开始,再也不必为设置CLASSPATH变量感到头疼了。

暂时不需要配置,就让CLASSPATH默认表示当前目录路径。

--------------------------------------------------------

如何把编译出来的class文件存放到指定的目录:

使用javac -d C:myclasses Hello.java

Java基本语法

Java基本语法:

1):Java语言严格区分大小写,好比main和Main是完全不同的概念。

2):一个Java源文件里可以定义多个Java类,但其中最多只能有一个类被定义成public类。若源文件中包括了public类,源文件必须和该public类同名。

3):一个源文件中包含N个Java类时,成功编译后会生成N份字节码文件,即每个类都会生成一份单独的class文件,且字节码文件名和其对应的类名相同。

4):若一个类要运行,必须拥有main方法才能运行,因为main方法是程序的入口.

编程建议:

一个Java源文件只定义一个类,不同的类使用不同的源文件定义;

将每个源文件中单独定义的类都定义成public的;

保持Java源文件的主文件名与源文件中的类名一致;

平时教学中我们在一个源文件中定义多个类,完全是为了让学生看起来方便。开发中一般都是一个文件一个类且都是使用public修饰的。

Java的三大注释

ava的注释信息是给程序员看的,编译器(javac)在编译的时候会忽略掉源文件中的注释信息。

为此,Java提供3种注释类型:

① 单行注释;

② 多行注释;

③ 文档注释;

单行注释:// ; //注释信息,从//开始到本行结束的所有字符会被编译器忽略;

多行注释:/* */;/* 注释信息 */之间的所有字符会被编译器忽略

文档注释:/** */;/** 注释信息 */和多行注释一样,除此之外还可以专门生成文档信息API。在讲面向对象的javadoc时详述。

注意:多行注释和文档注释之间彼此都不能交叉嵌套.

关键字和保留字

关键字:在编程语言中有一些事先定义的,有着特殊含义和用途的单词。

保留字:和关键字一样都是编程语言事先定义好的,只是说现在暂时没有特殊的用途,但说不定以后某天会突然被赋予意义和被使用到,因此被保留下来的单词,goto和const就是Java的保留字。

看图;

注意关键字和保留字都是由小写字母组成,关键字不要去记,我们学一个记一个。

语言分隔符和标识符

Java语言分隔符:

分号(;):语句的分割,表示一句话结束,好比咱们使用的句号。

花括号({}):表示一个代码块,是一个整体,花括号要成对使用。

方括号([]):定义数组和访问数组元素时使用。

圆括号(()):使用很广泛,具体用到细讲。

圆点(.):类和对象访问它的成员时使用。

空格( ):把一整条语句分割成几段,空格的次数不限制,好比一句英文里单词都要分开写一样。

注意:必须都是半角下的英文符号。

-------------------------------------------------------------------------------------

标识符:

在写代码的时候为了增强代码的阅读性会自定义很多名字,比如:类名,方法名,变量名等。

在编程的里我们把这种为了增强程序阅读性而自定义的名称,称为标识符。

标识符命名规则:

① 由字母、数字、下划线、$组成,但不能以数字开头(注:此处的字母可以是中文、日文等)。

② 大小写敏感。

③ 不得使用java中的关键字和保留字。

④ 不用Java API里的类名作为自己的类名。

其实,大家也没必要记这么多,王道:使用一个非关键字和保留字的有意义的英文单词就很OK了,不准起非主流名字。 规范:类名首字母大写。

Editplus工具

Editplus工具:能够友好地使用颜色区分出关键字保留字(蓝色)甚至是JDK里内置的类名(红色)。

可能有同学,知道开发Java还有更好的工具:

Eclipse、MyEclipse.

--------------------------------------------

建议:现阶段,慢慢来.

小结

任务:

1):了解二级制.

2):熟悉Java的跨平台性的原理.

1>:产生了一种和平台无关的字节码文件;

2>:JVM是不跨平台的.

3):搭建Java的开发和运行环境:

1>:安装JDK;

2>:配置PATH环境变量:

PATH=javac工具所在的目录

4):独立写出Hello程序(背).

5):掌握Java的编译和运行机制.

6):把Editplus环境配置OK.

走进java编程之第一课-超详细笔记-适合新手收入相关推荐

  1. java编程自学教程(超详细版)

    一:学习路线(流程) 1阶段Java核心基础 2阶段数据库核心技术 3阶段JavaWeb核心技术 4阶段企业必备技术 5阶段Java大厂提升技术 6阶段大型项目与解决方案 7阶段大厂必备面试 二:学习 ...

  2. (超详细、适合新手)QQ三国实现24小时挂机摆摊卡键喊话

    QQ三国原创作者--贴吧ID:杜康技术总监℃ 说明:12到24周岁,没错就是12周岁到24周岁的,现在只要10元一个月就可以24小时挂机,因为阿里有学生套餐,不是的去借一个别人注册好的号购买,或者自己 ...

  3. (过程超详细)适合新手的ATK-ESP8266+STM32F103系列单片机通过MQTT协议直连阿里云的教程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.所用到的硬件设备 二.调试步骤 1.固件的烧录 2.创造阿里云的产品 3.代码修改 4.最终的硬件连接及效果图 总 ...

  4. 注册Github账号详细教程【超详细篇 适合新手入门】

    目录 一.GitHub的简介 1.大概介绍 2.详细介绍 二.如何注册自己的GitHub账户 1.进入github的官网 2.点击右上角注册按钮sign up,来到注册页面 3.在光标处输入自己的邮箱 ...

  5. Java并发编程(中下篇)从入门到深入 超详细笔记

    接上一篇博客笔记:Java并发编程(中上篇)从入门到深入 超详细笔记_未来很长,别只看眼前的博客-CSDN博客https://blog.csdn.net/weixin_53142722/article ...

  6. Java并发知识总结,超详细!(上)

    Java并发知识总结,超详细! 首先给大家分享一个github仓库,上面放了 200多本经典的计算机书籍 ,包括C语言.C++.Java.Python.前端.数据库.操作系统.计算机网络.数据结构和算 ...

  7. java面试题答案大全超详细(持续更新)

    java面试题答案大全超详细 第01章 java语言面试题 项目经理(作者):张明星 JVM 运行时数据区是什么? 程序计数器是什么? 程序计数器(线程私有) Java 虚拟机栈的作用? 本地方法栈的 ...

  8. python高级语法装饰器_Python高级编程——装饰器Decorator超详细讲解上

    Python高级编程--装饰器Decorator超详细讲解(上篇) 送你小心心记得关注我哦!! 进入正文 全文摘要 装饰器decorator,是python语言的重要特性,我们平时都会遇到,无论是面向 ...

  9. 转 :2019年Java大厂面试(吐血超详细总结)

    2019年Java大厂面试(吐血超详细总结) 本文来自于慕课网手记:Java大厂面试(吐血超详细总结),转载请保留链接 ;) 转载自:https://www.imooc.com/article/286 ...

最新文章

  1. 一行代码将Pandas加速4倍
  2. 精选 GitHub 值得收藏的100个前端项目
  3. unet脑肿瘤分割_2D UNet3+ Pytorch实现 脑肿瘤分割
  4. c语言mcisendstring函数,mciSendString用法
  5. java与mysql的交互_java与数据库交互常用到的一些方法
  6. 计算机网络项目实训教程课后答案,计算机网络项目实训教程
  7. 为什么虚拟机上一运行就显示程序停止_五分钟学Java:如何学习Java面试必考的JVM虚拟机...
  8. 计算机算法设计与分析 数字三角形
  9. No converter found capable of converting from type
  10. Facebook是如何大幅提升TLS连接效率的?
  11. c语言规定棋盘大小的,求数据结构C语言大神们解释下马踏棋盘程序
  12. Scrapyd API的安装
  13. 《操作系统实验》C++实现时间片轮转调度算法
  14. CWRU滚动轴承数据集简介
  15. U9二开之UBF配置和档案开发
  16. 移动互联网创业:美国不代表全球
  17. Android 布局旋转 横屏竖屏
  18. 黄冈师范学院教育管理的论文选题
  19. 诸葛亮是刘备最器重的人才么
  20. linux内核裁剪的具体过程和方法

热门文章

  1. C++实现生成均匀分布的数字
  2. 13_geemap学习笔记 | 按组分区统计
  3. IDEA 插件开发 一个表单提交的弹出框
  4. 联想x220笔记本风扇替换改装
  5. 想提高面试通过率?回答好这10个问题征服面试官
  6. Android:week 9总结 Activity生命周期
  7. 安卓安装kali教程
  8. C语言里面调用汇编程序
  9. 2021-07-26 SEO优化_网页关键词布局详解
  10. 机器学习中如何评价模型的好坏