跟随狂神学Java第一天
作者:互联网
已有C语言基础,普通本二到了大三才意识到问题严重,啥都不会,乘着寒假偷学一波,希望能坚持下去吧!
博客拿来记录我的学习记录,前期跟随大部分重温一遍记一些笔记,后期应该就是记录我的学习心得了。
Markdown语法
标题
##二级标题
###三级标题
####四级标题
字体
** hello,word 两个星号是黑体
* hello,word 一个星号是斜体
hello,word 三个星号是斜黑体
hello,word 两个波浪号是废弃
引用
一个大于号加空格是引用
分割线
三个*号或者三个-号
图片
感叹号+方括号(图片名称)+括号里面填图片地址
超链接
方括号(超链接名字自定义)+括号里面填地址
列表
-
其中1.++空格开始序列
-
然后shift+tab解除缩进也就是序列
-
-+空格是以点来显示
代码
public 三个```加上语言名字回车
常见的DOS命令
打开应用
-
calc
-
mspaint
-
notepad
文件操作
md 目录名 创建目录
rd 目录名 删除目录
cd> 文件名 创建文件
del 文件名 删除文件
cls 清空屏幕
---------------------------------------------------------------------------------------------------------------
java的特性和优势
-
简单性
-
面向对象
-
可移植性(最重要的优势)
-
高性能(及时运行)
-
分布式
-
动态性(通过反射机制有了动态性)
-
多线程
-
安全性(审核网络式分布设计)
-
健壮性
java为什么能够成功
赶上互联网发展的时期
JDK JRE JMV
JDK: Java Development Kit
JRE: Java Runtime Environment
JVM: JAVA Virtual Machine
JDK包含JRE 多了一些开发者使用的开发工具
JVM可以用软件/硬件实现
可分为解释型 编译型 也是Java实现跨平台的工具
卸载JDK
-
Java安装目录删除
-
删除环境变量的JAVA_HOME
-
删除path下关于java的目录
-
cmd中java -version
安装JDK
-
百度搜索JDK8,找到下载地址 安装地址
-
同意协议
-
下载电脑对应的版本
-
双击安装
-
记住安装的路径
-
配置环境变量
-
我的电脑-->属性-->高级系统设计-->高级-->环境变量
-
配置环境-->JAVA_HOME
-
配置path变量
-
-
测试是否安装成功
-
打开cmd
-
java -version
-
-
HelloWorld
-
随便新建一个文件夹,存放代码
-
新建一个java文件
-
编写代码
public class Hello{
public static void main(String[] args){
System.out.print("Hello,World!");
}
} -
编译javac java文件,会生成一个class文件
-
执行class文件,cmd输入java class文件
可能会遇到的问题
-
每个单词的大小写不能出现问题,java对大小写敏感
-
尽量使用英文
-
文件名和类名一致且首字母大写
-
符号使用了中文
Java程序运行机制
编译型
compile把我们写的代码编译成机器识别的语言
操作系统、C/C++都是编译
解释型
我说一句你解释一句,性能有点损失,用一下解释一下,回头又要重新解释
网页/脚本-->对速度没有很大的需求
IDEA安装
---------------------------------------------------------------------------------------------------------------
JAVA基础语法
1.注释、标识符、关键字
注释
-
单行注释 //
-
多行注释 /* */
-
文档注释 JavaDoc:文档注释 /** */
平时写代码一定要注意规范
标识符
-
Java所有的组成部分都需要名字、类名、变量名以及方法名都被称为标识符
2.数据类型
-
强类型语言
要求变量的使用严格符合规定,所有变量都必须爱V定义后才能使用
-
Java的数据类型分为两大类
基本类型 (primitive type)
引用类型 (reference type)
-
其中long类型的数值要在值后面加个L
-
float类型要在后面加个F
-
其中String不是关键字是个类
数据类型扩展
二进制0b 十进制 八进制0 十六进制0x
-
float 是有限 离散的 有个舍入误差 大约 接近但不等于
最好完全避免使用浮点数进行比较
-
BigDecimal 一个数学工具类 用来比较
-
所有的字符本质还是数字 比如97 = a
-
Unicode编码 2个字节 0 - 65536
-
转义字符
-
\t 制表符
-
\n 换行
-
String ca = new String("Hello,word!");
String cb = new String("Hello,word!");
System.out.println(ca == cb); //false
String cd = ("Hello,word!");
String ce = ("Hello,word!");
System.out.println(cd == ce); //true
3.类型转换
低-------------------------------------------------------高
byte,short,char-->int-->long-->float-->double
-
运算中,不同类型的数据先转化为同一类型,然后进行运算
-
强制类型转换
-
高---->低
-
-
自动类型转换
-
低---->高
-
注意点
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
在把高容量转换到低容量的时候,
-
转换的时候可能存在内存溢出,或者精度问题
4. 变量、常量
-
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
-
每个变量都有类型,类型可以是基本类型,也可以是引用类型(String)
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个生命都必须以分号结束
变量的作用域
-
类变量
-
static定义
-
-
实例变量
-
从属于对象
-
-
局部变量
-
必须声明和初始化值
-
常量
-
初始化后不能再改编自!不会变动的值
-
所谓常量可以理解为一种特殊的变量,他的值设定后,在程序运行过程中不允许被改变
final 常量名 = 值;
static final double PI = 3.14;
final static double PI = 3.14;
public class Demo {
//实例变量;从属于对象
//布尔值,默认是false
//出了基本类型,其余的默认值都是null
String name;
int age;
//类变量 static
static double salary = 2500;
//main 方法
public static void main(String[] args) {
//局部变量,必须生命和初始化值
int i = 10;
System.out.println(i);
//变量类型 变量名字 = new Demo()
Demo demo = new Demo();
System.out.println(demo.age);
//类变量
System.out.println(salary);
}
}
变量的命名规范
-
所有变量、方法、类名:见名知意
-
类成员变量:首字母小写和驼峰原则:monthSalary除了第一个单词以外。后面的单词首字母大写
-
局部变量:首字母小写和驼峰原则
-
常量:大写字母和下划线:MAX_VALUE
-
类名:首字母大写和驼峰原则:Man,GoodMain
-
方法名:首字母小写和驼峰原则:run(),runRun()
5.运算符
-
不通类型的相加中最终的结果由其中的最高类型决定
-
如果没有上面类型,不管是什么类型加出来都是int类型
int a = 3;
int b = a++; //这里是a先赋值再自增,所以b=3
int c = 3;
int b = ++c; //这里是c先自增再复制,所以b=4
-
^异或
-
~取反
-
其中>>>是右移且最高位补0
-
而>>是右移但是正数补0负数补1
int a = 10;
int b = 20;
System.out.println(""+a+b); //输出1020相当于字符串连接了
System.out.println(a+b+""); //输出30
-
三目运算符?:
x ? y:z //如果X的值为真结果为y否则为z
6.包机制
-
一般利用公司域名倒置作为包名
-
为了能够使用某一包的成员,我们在java程序中明确导入该报使用"import"语句可以完成此功能
7.JavaDoc
-
javadoc命令式用来生成自己的API文档的
在类或方法上面/**+回车自动生成
在目录cmd后输入javadoc -enconding UTF-8 -charset UTF-8
或者直接用IDEA生成:Tools---->Generate JavaDoc
标签:Java,String,第一天,--,int,类型,java,神学,变量 来源: https://www.cnblogs.com/fengyvxxx/p/fengyv.html