Java基础(自己总结)
加粗样式
2.java概述
2.1概念
java是一门面向对象的语言,而之前学习的C语言是面向过程的语言,C++是面向对象的一门语言。
2.2为什么学习java语言
java目前是一门使用最为广泛的语言之一;
java还有许多特性:简单性、分布式、可移植性、健壮性、多平台独立性、动态性等。
java拥有极高的跨平台能力;(编写桌面的应用程序、WEB应用程序、嵌入式系统应用程序、分布式系统的开发等)
java高端路线——大数据?
Hadoop技术最多用的是java、HBase。掌握java
2.3java能干嘛(就业方向)
- 安卓应用
- 在金融行业应用的服务器程序
- 网站的设计(电子商务的网站)
- 嵌入式领域
- 大数据技术
2.4技术架构
JAVASE--------标准版
JAVAEE--------企业版
JAVAME-------微型版
2.5JVM/JDK/JRM的概述
2.5.1什么是跨平台
平台:指的就是操作系统(Windows、Linux、Mac)
跨平台:java程序可以运行在不同的操作系统上,一次编译到处运行
原理:实验跨平台需要Java虚拟机JVM(Java Virtual Machine)
2.5.2JVM/JDK/JRE
什么是JVM
JVM就是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台都有自己的虚拟机,所以Java语言是跨平台的。
什么是JRE
包括Java虚拟机(JVM)和Java程序所需要的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE就可以完成。
JRE=JVM+核心类库
什么是JDK
JDK是提供给我们开发人员使用的、其实里边已经包含了Java开发工具,当然也包括JRE。如果你安装了JDK,就不用单独再安装JRE了。
JDK=JRE+Java开发工具
JDK、JRE、JVM的关系和作用。
JDK包括JRE和开发工具
JRE包括JVE和核心类库
2.6常用的DOS命令
2.6.1打开控制台
Win+R,输入cmd
2.6.2熟悉一下常用的命令
- d::回车——盘符的切换
- dir:列出当前目录下的所有的文件和文件夹
- cd:改变指定目录(进入相对应用的目录)
- cd…:回退
- cls:清屏操作
- exit:退出dos命令行
练习:利用dos命令找到电脑里面的jdk路径,jre路径
2.7环境变量的配置
JDK的下载(不演示)
通过官方网站获取JDK(www.oracle.com)
下载的时候注意:不同操作系统,下载不同版本(32位和64位)。
JDK的安装
傻瓜式安装,下一步即可。
建议安装的时候,用英文路径。不要用中文或者带符号还有带空格等。
为什么要配置
Java程序的编译和运行使用Java和Java命令,所以只能在bin目录下写程序。
在实际开发中,不肯能把所有的程序都放到bin目录下,最好的方法就是可以在任意目录下能够访问Javac和Java。
如何配置
创建新的变量名称:JAVA_HOME
【计算机】----->右击【属性】------>【高级系统设置】------->【环境变量】------->【系统变量】
变量值:JDK的安装路径
【Path】
在最后面添加;%JAVA_HOME%\bin;即可。也可以在最前边加%JAVA_HOME%\bin;
2.HelloWorld案例
2.1需求分析
第一个见到的程序。
2.2技术分析
在命令行模式,输入javac命令对源代码进行编译,生成了字节码文件
javac原文件名.java
编译完成后,如果没有报错,那么我们进行java命令对字节码文件进行执行,执行时不需要添加.class扩展名
java HelloWorld
2.3步骤分析
2.4代码实现
public class HelloWorld{public static void main(String[] args){System.out.println("HelloWorld!!!");}
}
2.5扩展内容
常见问题:
- 文件名隐藏
- 单词拼写的错误(Class/string/main)
- 中文符号在输出语句的最后面使用中文分号
- 括号的匹配{ () }
4.注释
A:什么是注释
用来解释说明程序的文字
B:Java中的注释分类
单行注释://注释文字
多行注释:/ * 注释文字 * /
文本注释:*/** **注释文字 **/
C:注释的作用
- 解释说明程序,增加可读性。
- 帮助我们更好地去寻找程序的错误。
Doc文档注释生成:javadoc -d存放的路径 例如javadoc -d**(中间有一个空格)** .\\11 HelloWrold.java
HelloWorld.java
5.关键字
A:概述
被java语言给定的特定含义的单词
B:特点
组成关键字的字母都是小写的。
常用的代码编辑器,针对关键字会有特殊的颜色标记,比较直观。这里建议关键字不需要死记硬背。
C:常用的关键字
6.变量的案例
A:概念
在程序执行的过程中,它的值一直不发生改变的量。
B:常量的分类
- 整数常量:所有的整数(234,250)
- 小数常量:所有的小数(3.1415926,6.66)
- 字符常量:由单引号引起来的内容(‘a’,‘A’,‘0’)
- 字符串常量:由双引号引起来的内容(“HelloWorld”)
- 布尔常量 特殊:只有true和false
- 空常量:null(数组中学到)
练习:使用工具
5.变量
5.1需求分析
A:定义
存数的。容器。代词,指的就是所存的那个数。例如 Person p;(用p代替Person)
B:声明
int a;//声明一个整型的变量,叫a;
int a,b,c,d;//声明三个整型的变量,叫b,c,d
C:初始化
声明的时候同时初始化
int a = 666;
先声明后初始化
int a;
a = 666;
5.2技术分析
使用:
见代码。
4.3步骤分析
4.4代码实现
5.5扩展内容
变量的命名:
由字母、数字、下划线组成,但是不能由数字开头。
不能使用关键字
可以用中文命名,但是不建议使用中文。
建议“见名知意“ ”驼峰命名法“
例如 : score,myScore,myJavaScore-------驼峰命名法
帕斯卡命名法-------Score,MyScore,MyJavaScore—类
5.6二进制转换
10进制和二进制转换。
例如 13----1101
5.7计算机中的存储单元
位:bit
字节:byte
1B = 8bit
1KB = 1024B
1M = 1024KB
1GB = 1024M
6.数据类型的案例
6.1需求分析
A:为什么有数据类型?
java是一门强类型的语言,对于每一种数据的定义都会有明确的规定,在内存中分配不同的大小的
内存空间。
B:数据类型的分类
基本数据类型:
整型:byte,short,int,long
浮点型:float,double
字符类型:char
布尔类型:boolean
引用数据类型:数组,借口,类等。后期学习。
6.2技术分析
byte:
byte数据类型:8位,占1个字节。
最小值:-128-------2^7
最大值127 ------- 2^-7
默认值是0
byte在大型数据组中使用,主要的目的就是为了节约内存空间,因为byte占得空间
只有int得四分之一。
short:
- short数据类型:16位,占2个字节
- 最小值:-32768-------- -2^15
- 最大值:32767------- 2^15-1
- 默认值是0
int:
- int数据类型:32位,占4个字节
- 最小值 :-2^31 20E左右
- 最大值: 2^1-1
- 默认值是0
long:
- long数据类型:64位,占8个字节
- 最小值
- 最大值
- 默认值是0L
float:
- float数据类型:32位,占4个字节
- 最小值
- 最大值
- 默认值是0.0f
- 不能用来表示精确的数字
double:
- double数据类型:64位,占8个字节
- 最大值
- 最小值
- 默认值是0.0d
char:
- char数据类型:16位,占2个字节
- 最大值65535
- 最小值‘\u0000’---------0
- 默认值是
boolean:
- 只有两个值:true和false
- 默认值是false
- 一般用来做标记记录的。
6.3步骤分析
DataTypeDemo
6.4代码实现
数据类型的强制转化
6.5扩展内容
Erp财务------BigDecimal--------后期
驼峰命名法:
包名:无论由几个单词组成,所有的字母全部都是小写,每一个单词之间
用.隔开。www.baidu.com,com.baidu.exer;cn.tedu.exer;
类名、接口名:如果是由多个单词组成,每一个单词首字母大写------HelloWorld Demo
变量名、方法名:如果是多个单词组成,第一个单词的首字母小写,其余首字母大写。age maxAge getAge()------方法名
常量名:无论由几个单词组成,所有的字母都是大写,每一个单词之间都要用_隔开。 LEFT LEFT_UP
WIDTH=666;HEIGHT=900;
Scanner的用法:
1)导包:在package import java.util.Scanner (C:include)
2)创建对象:
main(): Scanner scanner = new Scanner(System.in);
3)接收数据:
scanner.nextInt();
S建一个ScannerDemo的类,运用一下
6.6练习-------3分钟
1.创建类AgeRange,要求:
接收用户输入的年龄age,并输出
package cn.tedu.demo;
import java.util.Scanner;
public class AgeRange {
public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);System.out.println("请输入你的年龄:");int age = scanner.nextInt();System.out.println("年龄:" + age);}
}
2.创建类LeapYear,要求:
接收用户输入的年份year,并输出
package cn.tedu.demo;
import java.util.Scanner;
public class LeapYear {
public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);System.out.println("请输入年份:");double year = scanner.nextDouble();System.out.println("年份" + year);
}
}
5.运算符的案例
5.1需求分析
1)算术运算符:+ - * / % ++ –
2)关系运算符:> < >= <= == (还可以直接比较是否相等) != boolean
3)逻辑运算符:&& || !
4)赋值运算符:= += -= *= /=
5)三目/条件运算符:boolean ? 数字1: 数字2;
6)字符串连接:+
5.2技术分析
5.3步骤分析
5.4代码实现
package cn.tedu.day03;
//这是一个比较数据的实例
import java.util.Scanner;
public class OperatorDemo {
public static void main(String[] args) {//TODO Auto-generated method stubint x = 2;int y = 5;//ait + /System.out.println(x + y);//7System.out.println(x - y);//-3System.out.println(x * y);//10System.out.println(x / y);//0System.out.println(x++);//2System.out.println(x--);//3int x1 = 6;int x2 = 3;System.out.println(++x1);//7System.out.println(--x2);//2//逻辑运算符 短路与(并且)//只要是有一个为假都为假 false//&& x && y // 0 1 0// 1 1 1// 1 0 0// 0 0 0int m = 8;int n = 6;boolean p = m < n && m ++<7;System.out.println(p);//false// || 或 只要是有一个为真都为真。trueboolean p1 = m < n || m ++ <17;System.out.println(p1);//true//赋值运算符---自带强转功能的用法int m1 = 12;//面试题,笔试题short a = 6;a +=20;//a = (short)(a + 20);System.out.println(a);//26//+System.out.println("身高" + a);//分别输出m和nSystem.out.println(m + "," + n);//三目运算符 boolean? 数字1:数字2;int c = 33;int d = 88;int max = c > d? c: d ;System.out.println("max = " + max);if(c > d) {int max1 = c;}/** 练习:* 1.键盘输入两个数据,并对这两个数据执行* 乘法运算,得到结果* 2.键盘输入三个数字,获取三个数字中的最大值,* 输出最大值* 3.键盘输入两个数据,比较这两个数据是不是相等。*///1.Scanner scanner = new Scanner(System.in);System.out.println("输入两个数字:");double num1 = scanner.nextDouble();double num2 = scanner.nextDouble();double num;num = num1 * num2;System.out.println("结果为:" + num);//2.System.out.println("输入三个数字:");int A = scanner.nextInt();int B = scanner.nextInt();int C = scanner.nextInt();int max1 = A > B ? A: B;int Max = max1 > C ? max: C;System.out.println(Max);//2.1方法二int max2 = A > B ? (A > C ? A : C ) : (B > C ? B : C);//先算小括号的int max3 = A > (B > C ? B : C) ? A : (B > C ? B : C); System.out.println(max2);//2.2第三种方法//3.System.out.println("输入两个数字:");int q = scanner.nextInt();int w = scanner.nextInt();if(q == w){System.out.println("true");}else{System.out.println("flase");}//3.2第二种方法/* Scanner sc = new Scanner(System.in);System.out.println("输入两个数字:");int i = scanner.nextInt();int o = scanner.nextInt();System.out.println(i==o);
}
}
Java基础(自己总结)相关推荐
- Java基础入门语法和安装
1. Java概述 1.1 Java语言背景介绍(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford Un ...
- Java笔记整理-02.Java基础语法
1,标识符 由英文字母.数字._(下划线)和$组成,长度不限.其中英文字母包含大写字母(A-Z)和小写字母(a-z),数字包含0到9. 标识符的第一个字符不能是数字(即标识符不能以数字开头). 标识符 ...
- java基础(十三)-----详解内部类——Java高级开发必须懂的
java基础(十三)-----详解内部类--Java高级开发必须懂的 目录 为什么要使用内部类 内部类基础 静态内部类 成员内部类 成员内部类的对象创建 继承成员内部类 局部内部类 推荐博客 匿名内部 ...
- Java基础概念性的知识总结
属于个人的所学的知识总结,不是全面的 1.JDK.JRE和JVM三者的区别 01.JDK:(Java Development ToolKit)Java开发工具包,是整个Java的核心.包括了Java的 ...
- 我的面试标准:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架!...
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:hsm_computer www.cnblogs.com/J ...
- 叮!您收到一份超值Java基础入门资料!
摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例带领大家J ...
- java重要基础知识点_必看 | 新人必看的Java基础知识点大梳理
原标题:必看 | 新人必看的Java基础知识点大梳理 各位正在认真苦学Java的准大神,在这烈日炎炎的夏季里,老九君准备给大家带来一个超级大的"冰镇西瓜,"给大家清凉一下,压压惊. ...
- Java基础-Date类常用方法介绍
Java基础-Date类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.毫秒值概念 我们在查阅Date类的API文档时,会发现这样的一句话:"The cl ...
- [Spring 深度解析]第1章 Java基础
第1章 ◄Java基础► 在学习Spring之前我们需要对Java基础语法有一定的了解,Java中最重要的两个知识点是注解和反射.注解和反射在Spring框架中应用的最广泛.掌握注解和反射,有助于后面 ...
- 清华学长免费分享Java基础核心知识大总结(1)
自学Java,如果觉得看<Java编程思想>或者<Core Java>等之类的"圣经"觉得内容太多,一下子吃不透的话,不妨看看这本<Java基础核心总 ...
最新文章
- 用户管理系统控制台版连接数据库
- linux默认文件大小,Linux 改变文件大小的方法
- 《大学数学遐想》系列之后记
- SAP CRM WebClient UI上以html格式显示note的问题讨论
- 22为什么有些人更愿意帮助别人
- mysql删除新添加数据,MySQL添加、更新与删除数据
- mysql full customer_mysql优化通常使用的几种方法
- idea快速搭建spring cloud-注册中心与注册
- 地图分析--广度搜索
- Python 2.7 将在 2020 年终止所有支持!
- This scheduler instance is still active but was recovered by another instance in the cluster
- 获取Windows 10(1)
- 3.openldap生成LDAP用户
- 泛微E-Office v9任意文件上传(CNVD-2021-49104)复现
- 安装到到setup support files时,SQL2008安装程序自动消失掉。
- 开关三极管的导通和截止条件
- AntDesign 实战教程 --------前言
- 【NOIP提高A组模拟2018.8.8】没有硝烟的战争
- 第五章第二十八题(显示每月第一天是星期几)(Display the first days of each month)
- IP 基础知识全家桶,45 张图一套带走
热门文章
- node版本、npm版本随意切换
- XSS靶场level7秘籍
- 2020年海南自贸港大学生职业生涯 规划大赛职业生涯规划书
- B-样条基函数:定义 (B-spline Basis Functions: Definition)
- 建模师的前景怎么样?
- ZCU104开发板MIPI摄像头开发(详细介绍移植ZCU102example design)
- 听云短信接口安全测试,你的短信接口到底有多危险,可能瞬间损失过万,短信接口防盗刷测试
- JavaWeb(后端)
- 骨架屏-css实现方式
- hive函数regexp_extract提取固定长度的数字信息(正则表达)