默默的努力
-
简单性
-
面向对象
-
可移植性
-
高性能
-
分布式
-
动态式 (原本没有,有多线程就有一些简单的动态)
-
多线程
-
安全性
-
健壮性
-
思考?Java为什么能够成功
Java三大版本
-
Write Once、Run Anywhere
-
JavaSE:标准版(座面程序、控制开发)(最核心、打牢)
-
JavaME:微型版(嵌入式开发、手机、小家电)
-
JavaEE:企业版、企业级开发(web端、服务器开发...)
JDK、JRE、 JVM
-
JDK:Java Development Kit(程序开发工具包:如果只是编写代码只安装JDK可不可以?可以)
-
JRE:Java Runtime Environment(运行环境;运行时环境包含java虚拟机和运行时一些类库)
-
JVM:Java Virtual Machine(Java虚拟机;运行java程序的)
Java开发环境搭建
JDK下载和安装和卸载
卸载JDK
-
单击我的电脑右键打开属性
-
点击“高级系统设置”再点击环境变量
-
找到JAVA_HOME就是放Java目录的地方
-
然后直接找到JDK删除
-
清理环境变量,看见JAVA_HOME点击删除
-
然后找到Path里面有和JAVA_HOME相关的,删除
-
win+R cmd
-
输入java-version查看
安装JDK
-
百度搜索JDK8,找到下载地址
-
同意协议
-
下载电脑对应的版本
-
双击安装JDK
-
记住安装的路径
-
配置环境变量
-
我的电脑-->右键-->属性
-
环境变量-->JAVA_HOME
-
配置path变量
-
在系统变量里找到path变量
-
打开path
-
在path开头打两个百分号中间写JAVA_HOME
-
jdk1.8.0_101\bin;jre1.8.0_101\bin
-
检查:输入java-version
-
如果出现版本信息,则成功
-
HelloWord及简单语法规则
HelloWord
1. 随便新建一个文件夹,存放代码
2. 新建一个Java文件
- 文件后缀名为.java
- HelloWord
- 【注意点】系统可能没有显示文件后缀名,我们需要手动打开
-
编写代码
public class HelloWord{
public static void main(String[] args){
System.out.print("HelloWord");
//print是在同一行上输出
//println是换行在下一行输出
}
}
-
编译javac java文件,会生成一个class文件
-
可能会遇到的情况
-
每个单词大小写不能出现问题,Javas是对大小写敏感的
-
尽量使用英文;
-
文件名 和 类名必须保持一致,并且首字母大写
-
符号使用的中文
Java程序运行机制
-
编译型(把写的java源代码编译成计算机能看懂的)
-
解释性(把编译完的代码走到解释器形成人能看的)
Java基础语法
注释
-
平时我们编写代码,在代码量比较少的时候,我们还可以看懂,但当项目结果复杂起来,我们就需要用到注释
-
注释并不会备执行,是写给我们写代码的人看的
-
书写注释是一个非常好的习惯
-
平时写代码一定要注意规范
Java中的注释有三种
public class Main {
//这是类名
public static void main(String[] args) {
//main方法
// write your code here
System.out.println("Hello Word");
//输出语句,输出Hello Word
//单行注释
/*
*多行注释
*/
/**
*@文档注释
*/
}
}
eclipse IDE的安装使用教程
-
首先,先压缩eclipse软件
-
解压到比较能记住的文件
-
创建一个快捷方式添加到座面
-
-
点击打开放到记住的文件夹
-
-
-
点击NEXT
-
随便输入名字
-
-
在包名里创建包名
-
点击这个
-
输入类名,就创建成功了
标识符
关键字
java所以组成的部分都需要名字。类名、变量名以及方法名都被称为标识符。
标识符的注意点
-
所有的标识符都应该以字母(A-z或者a-z),美元符号($),或者下划线(_) ; 开始(组成)
-
首字符之后可以是字母(A-z或者a-z),美元符号($),下划线(_)或数字的任何字符组合
-
不能用数字开头,标识符中间不能有空格
-
不能使用关键字作为变量名或者方法名但可以包含关键字
-
标识符是大小写敏感的
-
合法标识符举例: age、$salary、_value、value1
-
非法标识符举例:123abc、-salary、#abc
public static void main(String[] args) {
// write your code here
String 王者荣耀 = "最强王者";
System.out.println("王者荣耀");
}
}
-
可以使用中文命名,但是一般不建议这样使用,也不建议使用拼音(看不懂还很low)
数据类型
-
强类型语言
-
java、c++(安全性高但速度慢)
-
要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用*
-
-
弱类型语言
-
要求变量的使用不用符合规定(别玩坏了)
-
-
Java的数据类型风味两大类
-
基本类型(primitive type)
-
整数类型(byte、short、int、long)
-
浮点类型(float、double)
-
字符类型(char)
-
boolean类型:占1位其值只有true和false两个
public class Main {
public static void main(String[] args) {
//八大数据基本类型
//整数
byte num1 = 10;//最常用
short num2 = 20;
int num3 = 30;
long num4 = 30L;//long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F;//float类型要在数字后面加F
double num6 = 3.1415926535897932384;
//字符
char name = 'A';
//字符串,String不是关键字,是类
String namea = "中国你好";
//布尔值
boolean flag = true;
//boolean flag = false;
}
}
-
-
引用类型(reference type)
-
类(String)
-
接口
-
数值
-
-
什么是字节?
-
位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数。
-
字节(byte):是计算机中处理数据的基本单位,习惯上用大写B来表示。
-
1B(byte,字节)= 8bit (位)
-
字符:是指计算机中使用的字母、数字、字和符号
-
1bit表示1位
-
1Byte表示一个字节1B=8b
-
1024B=1KB
-
1024KB=1M
-
1024M=1G
-
1024G=1TB
浮点扩展(面试的题)
public class Main {
public static void main(String[] args) {
//整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0-9 A-F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
//==========================================
//浮点扩展? 银行业务怎么表示? 钱
//BigDecimal 数学工具类 表示银行的
//==========================================
//float 有限 离散 舍入误差 大约 接近但不等于
//double
//最好使用浮点数进行比较
//最好使用浮点数进行比较
//最好使用浮点数进行比较
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f==d);//false不一样
System.out.println(f);
System.out.println(d);
float d1 = 23131312312312313f;
float d2 = d1 + 1;
System.out.println(d1==d2);//true一样
}
}
字符扩展
//============================================
//字符扩展?
//===========================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数值
//char 编码问题 Unicdoe 2字节 65536 (Excel 2的16次方=65536)
char c3 = '\u0061';//Unicdoe的编码
System.out.println(c3);//a
//转义字符
//特殊的意思:\t制表符 空格
// \n换行...
System.out.println("Hello\nWorld");
String sa = new String("HelloWorld");
String sb = new String("HelloWorld");
System.out.println(sa==sb);//false
String sc = "HelloWorld";
String sd = "HelloWorld";
System.out.println(sc==sd);//true
//对象 从内存分析
布尔值扩展
//布尔值扩展
boolean flag = true;
if (flag==true){}//新手
if (flag){}//老手
//Less is more! 代码要精简易读
类型转换
-
由于java是强类型语言,所以要进行有些运算的时候的,需要用到类型转换。
低----------------------------->高
byte,short,char,-->int-->long-->float-->double
-
运算中,不同类型的数据先转化为同一类型,然后在进行运算
int i = 128;
byte b = (byte)i;//内存溢出
int i1 = 128;
double d = i1;//自动转换
//强制转换 (类名)变量名 高--低
//自动转换 (类名)变量名 低--高
System.out.println(i);
System.out.println(b);
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println("===============================");
System.out.println((int)23.7);//23
System.out.println((int)-45.89F);//- 45
System.out.println("=================================");
char c = 'a';
int q = c+1;
System.out.println(q);//98
System.out.println((char)q);//b
常见的问题
//操作比较大的数的时候,注意溢出问题
//jdk7新特性,数字之间可以用下划线分割
int money = 10_0000_0000;
int years = 20;
int total = money*years;//-1474836480,计算的时候溢出了
System.out.println(total);
long total2 = money*years;
System.out.println(total2);//默认是int,转换之前已经存在问题了
long total3 = money*((long)years);//先把一个数转换成Long
System.out.println(total3);//20000000000
变量、常量、作用域
变量
-
什么是变量:在程序运行过程中可以变化的量!
-
变量是内存中的区域,不是具体的值
-
-
Java是一种强类型语言,每个变量都必须声明其类型
-
java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
//数据类型 变量名 = 值;(可以使用逗号隔开来声明多个同类型变量;不建议这样写)
注意事项
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
public class Main {
public static void main(String[] args) {
//int a,b,c;
//int a=1,b=2,c=3; //程序可读性
String name = "gewenbo";
char x = 'x';
double pi = 3.14;
}
}
变量作用域
-
类变量 //写在类里面的 写一个静态词staticgt
-
实例变量 //可以写在类中间
-
局部变量 //写在方法里面的
public class Variable{
static int allClicks=0; //类变量
String str="hello world"; //实例变量
public void method(){
int i = 0; //局部变量
}
}
实例变量
-
public class Main {
//可以定义一些属性:变量
//实例变量:从属于对象;如果不进行初始化,机会变成这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) { -
实例变量类变量局部变量的使用
public class Main {
//类变量
static double salary = 2500;
//可以定义一些属性:变量
//实例变量:从属于对象;如果不进行初始化,机会变成这个类型的默认值 0 0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Main();
Main main = new Main();//对象
System.out.println(main.age);
System.out.println(main.name);
//类变量
System.out.println(salary);
}
//其他方法
public void add(){
}
}
常量
-
常量(Constant):初始化(initialize)后不能再改变值!不会变动的值
-
程序运行过程中不能改变的值
-
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
原文地址:https://www.cnblogs.com/xxge/p/15128604.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux中openssl/opensslv.h找不到问题的解决方法
- CentOS7 安装 PostgreSQL11的方法步骤
- Linux中FTP服务器的搭建教程
- ubuntu下编译安装opencv的方法
- CentOS7如何执行PHP定时任务详解
- linux中ssh免密通信的实现
- Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法
- linux下安装boost库的完整步骤记录
- Linux下使用killall命令终止进程的8大用法实例详解
- 关于AIX挂载NFS写入效率低效的解决方法
- Linux查看进程的所有信息的方法示例
- 新版VPS主机管理面板WDCP安装及使用体验-国产简单易用型VPS面板
- linux中普通用户的定时任务详解
- 详解在Linux中清空或删除大文件内容的5种方法
- 教你一招实现Linux中的文本比对