JAVA基础知识总结:一
一、软件开发的常识
1.什么是软件?
一系列按照特定顺序组织起来的计算机数据或者指令
常见的软件:
系统软件:Windows\Mac OS \Linux
应用软件:QQ,一系列的播放器(爱奇艺,乐视,腾讯。。。。),一系列的浏览器(谷歌,IE....)
2.什么是开发?
就是制作软件的过程
软件的出现实现了人与计算机之间的人机交互
交互方式:图形化方式:操作简单,用户容易上手
命令行方式:在控制台输入输入相应的指令,根据指令让计算机完成相关的操作
3.命令行指令(Windows+r-----调起控制台)
dir:列出当前目录下所有的文件以及文件夹
cd:进入到指定目录
cd..:退回到上一级目录
rd:删除目录
cls:清空控制台
exit:退出控制台
命令行让计算机执行相应的操作,相当于人和计算机之间的交流,计算机能识别的“话” -----计算机语言
计算机语言:c\c++\c#\html5\php\OC\Swift\Java.....
二、Java简介
1.Java语言的由来
1995年,由Sun(Stanford University Network,斯坦福大学网络公司)公司发布的一门高级编程语言
2.Java语言的技术架构
J2SE:标准版,为开发打基础
J2EE:企业版---Web方向
J2ME:小型版,小型的电子消费产品
JDK1.5之后,更名为JAVASE\JAVAEE\JAVAME
1996年,Sun发布了JDK1.0
目前JDK最新版本是1.9(bate),推荐使用JDK1.8
跟Java相似的语言:c#\Ruby\Python
3.Java语言的特点:跨平台性
通过Java编写的应用程序可以在不同的系统平台上运行,Java具有良好的可移植性,目前成为Web应用程序开发的首选语言
工作原理:在需要运行Java程序的操作系统上安装对应的Java虚拟机(JVM)
注意:Java语言具有跨平台性,JVM是不跨平台的
三、开发程序之前需要做的准备工作
JDK(Java Development Kit);Java开发工具包
JRE(Java Runtime Environment):java运行环境
JVM(Java Virtual Machine):Java虚拟机
1.三者之间的关系
a。如果只需要运行一个已经开发好的Java程序的话,只需要安装JRE
b .作为程序员,就需要安装JDK,其中包含了Java的开发工具,同时也包含了JRE
c.JVM和JRE的关系:JRE包含了JVM,JVM是运行Java程序的核心虚拟机,同时也包含了Java程序所需的环境支持
总结:JDK>JRE>JVM(使用JDK开发的Java程序,交给JRE中JVM去运行)
2.安装
a.下载地址
www.oracle.com/java.sun.com
b.了解JDK
bin:binary----二进制文件,里面存放的是可执行的程序,比如javac.exe java.exe等
3.配置环境变量
用户变量和系统变量的区别:本质上是没有区别的,用户变量配置的内容只对当前用户有效,不会影响其他的用户,系统环境变量所做的修改会影响到这台电脑上所有的用户
%JAVA_HOME%\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Parallels\Parallels Tools\Applications;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
配置环境变量的作用:可以在任何目录下直接访问javac和java命令,主要是为了方便开发
四、Java程序的运行机制
Java程序的运行需要经过先编译,后运行的步骤
1.编译阶段:不会生成特定平台的机器码,而是生成一种和平台无关的字节码,这种字节码不是可执行的
2.运行阶段:起核心作用的是JVM,它是可以运行字节码文件的(编译器生成虚拟机能理解的代码,交给虚拟机来执行)
五、Java程序初体验
demo:样片,样品
开发工具:文本文档,EditPlus,Eclipse
1.创建一个扩展名为.java的文件
2.在文件中定义一个类,类是Java程序的最小单元,格式为:public class 类名(类名和文件名称相同)
3.要让程序有一个执行入口的话,需要在类中定义一个main函数(主函数),格式为:public static void main(String[] args)
4.在main函数中写相应的代码,例如;System.out.print("hello world!");
5.编译阶段:使用javac命令,格式为:javac Java文件名称,例如:javac FirstDemo.java
6.运行阶段:使用java命令,格式为:java 类名,例如:java FirstDemo
注意事项:a.一个Java文件中可以同时存在多个类,并且编译之后会生成多个class文件
b。如果一个类被public修饰的话,则这个类的类名必须和Java文件的名称保持一致,
c。被public修饰的类在一个Java文件中有且只能有一个
六、注释
在编写程序时,写程序的人给代码做的一些解释和提示,能提高代码的可读性,为了日后的更改和阅读
注释是解释性文本,在运行程序的时候,注释会被程序跳过,不过任何处理
1.//xxxxxx 单行注释
2./*
xxxxxx 多行注释
xxxxxxx
*/
3./**
xxxxxxx 文档注释
xxxxxx
*/
七。API文档
养成自学的好习惯,经常翻阅API文档,(当作字典使用)
八、Java编码规范
1.Java源程序文件名的后缀必须是,java
2.Java中的每句代码必须以分号结尾
3.驼峰法则:在命名的时候,单词之间通过首字母大写来进行分隔,除包名和静态常量,例如:FirstDemo,
4.英文和中文,一般情况下,要求尽量使用通俗易懂的英文进行命名,例如:download xiaZai(不推荐)
Java基础语言包含:注释、关键字、标识符、常量和变量、运算符、函数和数组
九、关键字和标识符
1.关键字
在Java语言中,被赋予了特殊含义的英文单词,例如:class public import interface ....
特点:关键字中的字母全部小写
2.标识符
在Java中自定义的一些英文单词
定义合法的标识符需要满足的规则:
a.由数字、字母、下划线(_)、美元符号($)组成
b.不能以数字开头 abc 1abc(不合法)
c.不能使用关键字 class(不合法)
d。遵循驼峰命名法
e.不可以包含空格 abc def(不合法)
f。不能包含除了$之外的特殊字符 abc&(不合法)
在Java中,严格区分大小写
abc Abc
十、进制转换
1.什么是进制?
进制指的是进位制,例如:十进制是逢十进一,二进制是逢二进一
179
+ 11
----------------
常见的进制:十进制(0~9),二进制(0~1),八进制(0~7,以数字0开头),十六进制(0~9,a~f或者A~F,以0x开头)
在计算机底层,所有数字都是以二进制的形式存在的
为什么计算机采用二进制?
采用开头原理,只有0和1两个数值,相当于开关的打开和闭合状态,计算机运算的速率会比较高,八进制和十六进制是通过二进制演变而来的
2.进制之间的相互转化
a。计算机中存储数据的单位
计算机中表示数据的最小单位是比特(bit),又称为位
计算机中处理数据的单位是字节(Byte) 1B = 8b
KB MB GB TB PB EB ...DB
1KB = 1024B
1MB = 1024KB
b.十进制----》二进制
转换原理:对十进制进行除2运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来
对于小数而言, 整数部分除2取余数,小数部分乘以2取整
10.25
c.二进制 -----》十进制
转换原理:将二进制数按权进行展开,将得到的多项式相加(二进制的权是2)
110---》1*2^2 + 1*2^1 + 0 = 6
12345 ----》1*10^4 + 2 * 10^3....
d。二进制----》八进制
转换原理:将二进制数进行分组,从右向左进行分组,三位为一组,不够时进行补0
010 010 110 ----》226
2 2 6
e二进制---》十六进制
转换原理:将二进制从右向左进行分组,四位为一组,不够时补0
1001 01100------》96
9 6
f.十进制---》八进制或者十六进制
转换原理:方法一:先将十进制转换为二进制,然后再将二进制进行分组,转化为对应的八进制或者十六进制
方法二:可以将十进制进行除8或者16,直到商为0,类似十进制转二进制
g.八进制或者十六进制----》十进制
类比二进制转换十进制
3.计算机是如何处理数据运算的
数值有正负之分
0000 0110----》6
原码:就是这个数对应的二进制形式,高位表示符号位,0表示正数,1表示负数
注意:反吗和补码主要针对的是负数
反码:就是将原码除符号位之外的各位进行求反,
补码:将原码除符号位之外的各位进行求反,然后再加1 ,
正数的原码,反码以及补码都是相同的,和源码相同
10 + (-10) = 0
原码
0000 1010
1000 1010
---------
1001 0100 -----》明显不是0,说明计算机处理数据不是通过原码进行的
反码
0000 1010
1111 0101
---------
1111 1111----》-127,明显不是0,说明计算机处理数据不是通过反码进行的
补码
-10的补码
1111 0101
0000 0001
----------
1111 0110----》-10的补码
0000 1010
---------
0000 0000----》结果为0,
结论:计算机处理数据的计算是通过补码进行的。
JAVA基础知识总结:一的更多相关文章
- Java基础知识(壹)
写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...
- java基础知识小总结【转】
java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...
- Java基础知识系列——String
最近晚上没有什么事(主要是不加班有单身),就复习了一下Java的基础知识.我复习Java基础知识主要是依据Java API和The Java™ Tutorials. 今天是第一篇,复习了一下Strin ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- JAVA基础知识之网络编程——-网络基础(Java的http get和post请求,多线程下载)
本文主要介绍java.net下为网络编程提供的一些基础包,InetAddress代表一个IP协议对象,可以用来获取IP地址,Host name之类的信息.URL和URLConnect可以用来访问web ...
- java基础知识梳理
java基础知识梳理 1 基本数据类型
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- Java 基础知识(一)
Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...
- java 基础知识三 java变量
java 基础知识 三 变量 1.作用域 {} 包围起来的代码 称之为代码块,在块中声明的变量只能在块中使用 2.常量 就是固定不变的量,一旦被定义,它的值就不能再被改变. 3.变量 变量必须在程序 ...
- java 基础知识二 基本类型与运算符
java 基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者 ...
随机推荐
- 201521123024 《Java程序设计》第13周学习总结
1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容.
- 05浏览器-02-操作DOM
1.DOM操作梗概 本篇内容实际上在另一篇笔记<从JS和jQuery浅谈DOM操作>已经提到了重点的地方,可以戳链接另外进行阅读. 以前提到过,实际上HTML在被浏览器加载以后,会变成 & ...
- JSON的基本结构和数据交换原理
0.补充的写在前面的话 2017.03.29 补充内容 最近看到这篇博客的阅读量,想来应该是有部分网友来过想要了解JSON的基本概念,这篇博文写得可能不是那么好,所以现在再补充贴一位老师的文章,希望能 ...
- 如何使用fiddler抓取https请求(PC和移动端)
最近做一个抓取移动端app接口,并执行评论,收藏的接口功能测试.怎么搞/(ㄒoㄒ)/~~ 按照老思路试一试,第一步还是要用fiddler来帮忙获取接口信息! 一.基本的抓取http请求设置: 1.cm ...
- Spring MVC 的文件下载
在看Spring MVC文件下载之前请先看Spring MVC文件上传 地址:http://www.cnblogs.com/dj-blog/p/7535101.html 文件下载比较简单,在超链接中指 ...
- 爬虫实战:爬虫之 web 自动化终极杀手 ( 上)
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:陈象 导语: 最近写了好几个简单的爬虫,踩了好几个深坑,在这里总结一下,给大家在编写爬虫时候能给点思路.本次爬虫内容有:静态页面的爬 ...
- A glimpse of Support Vector Machine
支持向量机(support vector machine, 以下简称svm)是机器学习里的重要方法,特别适用于中小型样本.非线性.高维的分类和回归问题.本篇希望在正篇提供一个svm的简明阐述,附录则提 ...
- 在JavaScript中使用json.js:访问JSON编码的某个值
演示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- LCM Cardinality 暴力
LCM Cardinality Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit St ...
- AIM Tech Round 4 (Div. 2)ABCD
A. Diversity time limit per test 1 second memory limit per test 256 megabytes input standard input o ...