Java开篇
首先致敬Java之父:JAMES GOSLING
一、什么是JDK,JRE,JVM?
1.JDK(Java Development Kit) Java开发工具包。 JDK = 开发工具 + JRE;
2.JRE(Java Runtiime Environment) Java 运行环境。 JRE = JVM + 类库;
3.JVM(Java Virtual Machine) Java虚拟机,实现跨平台需要依赖Java的虚拟机。
二、开发环境配置
1.准备JDK,可在Oracle官网下载。
2.按照JDK,傻瓜式安装。
3.配置JDK环境:
1.将JKD安装目录(jdk1.8.0_31)下的"bin"目录添加到“系统环境变量”中的“path”文件中。
JAVA_HOME = "D:\jdk1.8.0_31" 可以创建变量也可以直接用"bin"目录的绝对路径。
path = %JAVA_HOME%\bin; 将路径添加到“path”中,用“;”与其他变量分隔
4.环境变量测试_在DOC窗口:
java -version
javac –version
三、简述环境变量path和classpath的作用?
path:主要记录应用程序的路径。
classpath:Java类文件地址;
若配置了classpath 且后面加有“;”号,JVM会首先在clsspath中寻找,然后到当前文件夹下寻找。
若配置了classpath 且后没有“;”号,JVM只在clsspath中寻找。
四、main方法
1.main方法是什么?
是一个定义在类中的一个独立的代码;可以让该类独立运行;这个独立代码的名字就是main。
2.main方法有什么特点?
该方法的格式是固定的;它是可以保证所在类能独立运行;它是该类的入口;它被JVM所调用。
3.main方法怎么用?
这个技术怎么在程序中体现,直接在定义的类中,书写
public static void main(String[] args){}
4.main方法什么时候用?
当一个类需要被独立运行时,这时该类中已定义要定义main方法。
五、关键字:
赋予了特殊含义的单词。(字母,数字,下划线"_",美元符"$")
六、基础知识
1.计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母b表示。
而计算机最小的存储单元叫“字节(byte)”,通常用大写字母B表示,字节是由连续的8个位组成。
2.Java是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。
3.变量必须要有明确的类型,什么类型的变量存储什么类型的数据。
4.Java中整数默认:int; 默认的小数默认:double;
5.Java中long类型的变量就必须在数值末尾添加“L/l”后缀。
float类型的变量就必须在数值末尾添加“F/f”后缀。
6.Java中char 在内存中占两个字节。
7.数据类型转换
数据范围:byte -> short -> int -> long -> float -> double
1.范围小的数据类型值(如byte),可以直接(自动)转换为范围大的数据类型值(如int);
2.范围大的数据类型值(如int),不可以直接(强转)转换为范围小的数据类型值(如byte);
3.数据类型转换:
隐式转换:由低级专向高级
强制转换:由高级专向低级
8.“+”号作为连字符使用:
System.out.println("5+5" + 5 + 5);//结果:5+5=55
注意:字符串和任何数据相加都是相连接。
9.“%”的符号问题:
(+,-)2%5 运算结构的符号参照左边(被模数)。
10.负数的二进制最高为都是“1”。
11.'&'和'&&'的区别:
'&':两边都参与运算。
'&&':当左边为false,右边不参与运算。
12.'|'和'||'的区别:
''|:两边都参与运算。
'||':当左边为true,右边不参与运算。
13.布尔类型Boolean不能参与类型转换;
14.扩展运算符:(+=、-=、/=、*=),注意扩展运算符会进行自动强制数据类型转换;
1.short s = 1; s = s + 1;有没有问题?如果有怎么解决?
有问题 因为short类型的专用字节数比int小,但是1是int类型,在表达式进行运算的时候就把其值提升为int类型,
而int类型不能直接赋值给short类型的变量可以同过强制数据类型转换来解决。
2.short s = 1; s += 1;有没有问题?如果有怎么解决?
没有问题 因为使用的是扩展赋值运算符 这样的话就会实现自动强制数据类型转换。
Java开篇的更多相关文章
- 【java读书笔记】——java开篇宏观把控 + HelloWorld
学完java有一段时间了,一直没有做对应的总结,总认为有一种缺憾.从这篇博客開始,将自己平时的学习笔记进行总结归纳,分享给大家. 这篇博客主要简单的介绍一下java的基础知识,基本的目的是扫盲.原来仅 ...
- 菜鸟学java开篇
从事it工作已有接近两年的时间了, 一直从事的是php的工作, 一直都想学java ,原因就不多说了, 毕竟优秀的php程序员,都会是一个其他方面的高手, 例如java ,并不是说java有多好,ph ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- JAVA格物致知开篇:凡事预则立不预则废
在我的这一生中,我发现我做事的方式可以用一句话概括:凡事预则立,不预则废.这么多年,我一直秉承着要做有准备的事情,不打无准备之仗的道理来过活.其实这样会让我的妻子非常的烦恼,她是乐天派,喜欢事情来了才 ...
- 0.Java并发包系列开篇
在我们想要谈论Java并发包(java.util.concurrent)的时候,这是一个头疼的问题,却又是每个Java工程师不得不掌握的一项技能.一直以来都想写一个Java并发包系列,无奈迟迟没有动手 ...
- 从.Net到Java学习第一篇——开篇
以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...
- Java网络编程和NIO详解开篇:Java网络编程基础
Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...
- java自学之路-开篇
开篇 想写一些java自学文章的心思起好久了,也在心里规划了一段时间,今天终于开始正式付于纸上.接下来要写的内容从java基础开始,一步步到正式工作用到的技术,整个体系适合java初学者自学.内容可能 ...
- Java虚拟机(一)之开篇
写此类文章的初始动机:被同事问道 jvm 是做什么时,竟然茫然以对: 按照惯例,从 what/where/how 等开篇,即: 一. JVM 的目的是什么? 二. JVM 是什么时候被以何总形式被安装 ...
随机推荐
- 考试题 T3
题意分析 首先\(\%\%\%\%olinr\)以及花_Q\(julao\)当场切题 然后就是怎么求 \[max(|a-A|,|b-B|)=max(a-A,A-a,B-b,b-B)\] 我们令\(x_ ...
- 递归实现进制转换(C++版)
上次呢,我们留下了一道题,今天我们来一起看一看: 题目链接:https://www.cnblogs.com/gaozirong/p/10547434.html 这是我写的程序,大家可以对照参考一下(C ...
- leetcode-36-有效的数独
题目描述: 判断一个 9x9 的数独是否有效.只需要根据以下规则,验证已经填入的数字是否有效即可. 数字 1-9 在每一行只能出现一次. 数字 1-9 在每一列只能出现一次. 数字 1-9 在每一个以 ...
- MySQL与Redis实现二级缓存
redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库 Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化, ...
- Luogu P1351 联合权值 题解
这是一个不错的树形结构的题,由于本蒟蒻不会推什么神奇的公式其实是懒得推...,所以很愉快的发现其实只需要两个点之间的关系为祖父和儿子.或者是兄弟即可. 然后问题就变得很简单了,只需要做一个正常的DFS ...
- Vue 不睡觉教程1-从最土开始
目标最近在学习vue的过程中发现网上的vue教程总有些不同的问题,有的教程上来只说语法,有的教程上来就用vue-cli来建项目,但是vue-cli是整合了webpack等多个插件的工具,不利于我们学习 ...
- springboot第四篇:debug模式开发运用
前提:项目是以maven project结构建立的,现状是无法进行断点调试的.怎么才能在eclipse里进行调试呢? 需要:①将项目打包部署到tomcat ②往项目加入dynamic web modu ...
- python 全栈开发:数据类型整体分析
数据类型初始 数据类型: int :用于计算. 例子:1.2.3.4........................... 常用方法操作: bit_length() ps:求一个数字转换成二 ...
- EDEM 2018 + Fluent 19.0耦合
具体步骤参考流沙的文章即可,如果python版本较高,可能有个地方需要小小的改动一下: tools文件夹下的compile_lib_edem_coupling.py文件中,导入模块有个地方需要修改 其 ...
- jquery中ajax使用error调试错误的方法,实例分析了Ajax的使用方法与error函数调试错误的技巧
代码:$(document).ready(function() { jQuery("#clearCac").click(function() { jQuery.ajax({ url ...