首先致敬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开篇的更多相关文章

  1. 【java读书笔记】——java开篇宏观把控 + HelloWorld

    学完java有一段时间了,一直没有做对应的总结,总认为有一种缺憾.从这篇博客開始,将自己平时的学习笔记进行总结归纳,分享给大家. 这篇博客主要简单的介绍一下java的基础知识,基本的目的是扫盲.原来仅 ...

  2. 菜鸟学java开篇

    从事it工作已有接近两年的时间了, 一直从事的是php的工作, 一直都想学java ,原因就不多说了, 毕竟优秀的php程序员,都会是一个其他方面的高手, 例如java ,并不是说java有多好,ph ...

  3. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  4. JAVA格物致知开篇:凡事预则立不预则废

    在我的这一生中,我发现我做事的方式可以用一句话概括:凡事预则立,不预则废.这么多年,我一直秉承着要做有准备的事情,不打无准备之仗的道理来过活.其实这样会让我的妻子非常的烦恼,她是乐天派,喜欢事情来了才 ...

  5. 0.Java并发包系列开篇

    在我们想要谈论Java并发包(java.util.concurrent)的时候,这是一个头疼的问题,却又是每个Java工程师不得不掌握的一项技能.一直以来都想写一个Java并发包系列,无奈迟迟没有动手 ...

  6. 从.Net到Java学习第一篇——开篇

    以前我常说,公司用什么技术我就学什么.可是对于java,我曾经一度以为“学java是不可能的,这辈子不可能学java的.”结果,一遇到公司转java,我就不得不跑路了,于是乎,回头一看N家公司交过社保 ...

  7. Java网络编程和NIO详解开篇:Java网络编程基础

    Java网络编程和NIO详解开篇:Java网络编程基础 计算机网络编程基础 转自:https://mp.weixin.qq.com/s/XXMz5uAFSsPdg38bth2jAA 我们是幸运的,因为 ...

  8. java自学之路-开篇

    开篇 想写一些java自学文章的心思起好久了,也在心里规划了一段时间,今天终于开始正式付于纸上.接下来要写的内容从java基础开始,一步步到正式工作用到的技术,整个体系适合java初学者自学.内容可能 ...

  9. Java虚拟机(一)之开篇

    写此类文章的初始动机:被同事问道 jvm 是做什么时,竟然茫然以对: 按照惯例,从 what/where/how 等开篇,即: 一. JVM 的目的是什么? 二. JVM 是什么时候被以何总形式被安装 ...

随机推荐

  1. Lucene7.4学习和简单使用

    简述: 前面从新回顾学习了Solr,正好也借此机会顺便学习一下Lucene. 一.什么是Lucene? 全文检索的一个实现方式,也是非结构化数据查询的方法.应用场景:在数据量大,数据结构不固定的时候, ...

  2. nginx负载均衡之入门配置

    先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况.那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上 ...

  3. 第三方库PIL

    第三方库PIL 一.Python简介 Python是一门简洁高效.通俗易懂的高阶动态编程语言,也可以理解成是一种面向对象的解释型计算机程序设计语言. Python具有丰富和强大的库.也经常被行内人员称 ...

  4. POJ_3470 Walls 【离散化+扫描线+线段树】

    一.题面 POJ3470 二.分析 POJ感觉是真的老了. 这题需要一些预备知识:扫描线,离散化,线段树.线段树是解题的关键,因为这里充分利用了线段树区间修改的高效性,再加上一个单点查询. 为什么需要 ...

  5. OI中一些常见实用的套路【更新中】

    数据结构 在维护树上路径时,如果只是点的独立的加减,可以考虑用括号序来维护(拆成两部分) 需要求树上很多路径中k近/距离和 一类,考虑点分治/在点分树上解决. 子树求和可以转化为DFS序上区间求和 树 ...

  6. Go语言类型转换

    类型转换用于将一种数据类型的变量转换为另外一种类型的变量. Go语言类型转换基本格式如下:表达式 T(v) 将值 v 转换为类型 T . Go语言各种类型转换及函数的高级用法:strconv包实现了基 ...

  7. HttpURLConnection发送GET、POST请求

    HttpURLConnection发送GET.POST请求 /** * GET请求 * * @param requestUrl 请求地址 * @return */ public String get( ...

  8. docker with devicemapper storage driver

    storage driver的选择依据很多的条件,比如发行版版本,团队技术积累,稳定性等. device mapper是redhat/centos中最适合的, 稳定性也可以,内核原生支持,基于块设备, ...

  9. leetcode:N-Queens 问题

    一.N-QueensII class Solution { public: int totalNQueens(int n) { ; vector<); dfs(,n,total,v); retu ...

  10. latex排版(CTeX winEdit输出“系统找不到指定的文件”的终极解决办法)

    WinEdit的菜单栏中:Options->Execution Modes 弹出的界面见下面的图: 看上图中“1”所示位置,后面3项出现了“?”号(出现“系统找不到指定的文件”的错误时,所有项后 ...