编写一个hello,world

public  class  Hello{
   public static void main(String[] arge){
       System.out.print("hello,world");
  }
}
  • public class(这个表示一个类,修饰符的意思)Hello是类的名字

  • pubic static void (这些是修饰符,关键字)main(主方法)(String[] arge )这是一个参数(快捷键是psvm)

  • System.out.print(这是输出语句)(快捷键是sout)

Java程序运行机制

  • 编译型

  • 解释型

java的基础语法

注释

  • 注释是不会执行的,注释是给我们写代码的的人看的

  • 写注释是一个好的习惯

  • Java中的注释有三种:

    1. 单行注释://

    2. 多行注释:/**/

    3. *文档注释(javaDoc):/ ** */

标识符与关键字

关键字

  • 关键字是Java中已经被赋予特定含义的一些单词,不可以拿关键字拿来当标识符用

标识符

  • Java中的所有的组成部分都需要名字,类名以及方法名都被称为标识符,在Java中不能拿关键字来做标识符

  • 所以的标识符都应该以字母(A-Z或者a-z),美元符($),下划线(-)或者数字的任何字符组合,但是标识符的第一位不能为数字

  • 标识符的大小写表示的意思是不一样的

  • 标识符可以用中文命名,但是一般不建议这样使用,也不建议用拼音,很Lwo

数据类型

  • 强类型语言:要求变量的使用要严格规定,所有的变量都必须先定义后使用

  • 弱类型语言:他的变量使用可以不用严格规定

  • 强类型语言的安全性比弱类型高,相应的他比弱类型的速度慢

Java的数据类型

  • 基本类型(primitive type):

  • 字符用char,字符串用String(字符串这个不是关键字是一个类)

  • 定义布尔值的时候要用boolean来定义,定义布尔类型只能定义两个值:true与false

  • 引用类型(reference type):

字节

  • 位(bit):是计算机内部数据储存的最小单位,11001100是一个八位二进制数

  • *字节(byte):是计算机中数据处理的基本单位,习惯上用大写的B来表示

  • 1B(byte,字节)= 8bit(位)

  • 字符:是指计算机中使用的字母,数字,字和符号

  • 1bit表示一位

  • 1Byte表示一个字节1B=8b

  • 1024B=1kB

  • 1024KB=1M

  • 1024M=1G

整数扩展

进制

  • 二进制前面加0b

  • 八进制前面加0

  • 十进制不变

  • 十六进制前面加0x

小数扩展

  • 因为浮点数有误差,他的数字都是大约比较的,接近但不等于,所以最好完全使用浮点数进行比较

  • 要使用这个:BigDecimal 数学工具类

字符扩展

  • 所以的字符的本质还是数字

  • 因为我们用到的字符来自 unicode 表他们每个字符对应一个编码,如编码97=a,占两个字节,他可以写65536个所以我们的字符可以变成数字

转义字符

类型转换

  • Java类型的优先级

  • 低-------------------------------------------------------------->高

  • byte,short , char , -> int--> long -> float -> double

  • 自动类型转换,是按照系统的类型优先级来转换的,只能由小转大

  • 强制类型转换,是由高到低,在想转换的值前面加上自己想转的类型;如:int i=100;byte b= (byte) i;

注意点

  1. 不能对布尔值进行转换

  2. 不能把对象类型转换为不相干的类型

  3. 在把高容量转换到低容量的时候要用强制类型转换

  4. 转换的时候可能存在内存溢出,或者精度问题

  5. 操作比较大的数的时候,注意溢出问题

  6. 在JDK7有一个新特性,数字之间可以用下划线分割,如:10-0000-0000;中的下划线不会被输出

变量

  • 可以变的量就是变量

  • Java是一种强类型语言,每个变量都必须声明其类型

  • Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型

  • 变量名必须是一个合法的标识符

  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结尾

java的基础知识的更多相关文章

  1. Java 多线程——基础知识

    java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...

  2. java必备基础知识(一)

    学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...

  3. 什么才是java的基础知识?

    近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...

  4. java部分基础知识整理----百度脑图版

    近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...

  5. JAVA相关基础知识

    JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...

  6. JAVA多线程基础知识(一)

    一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...

  7. Java SE 基础知识(一)

    一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...

  8. JAVA学习基础知识总结(原创)

    (未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...

  9. java正则表达式基础知识(转)

    1基础 2.1 简单字符类 构造 描述 [abc] a,b或c [^abc] 除a,b或c外的字符 [a-zA-Z] a至z 或 A至Z [a-d[m-p]] a至d 或 m至p [a-z&& ...

  10. java线程基础知识----线程与锁

    我们上一章已经谈到java线程的基础知识,我们学习了Thread的基础知识,今天我们开始学习java线程和锁. 1. 首先我们应该了解一下Object类的一些性质以其方法,首先我们知道Object类的 ...

随机推荐

  1. JVM系列(一):jvm启动过程速览

    jvm是java的核心运行平台,自然是个非常复杂的系统.当然了,说jvm是个平台,实际上也是个泛称.准确的说,它是一个java虚拟机的统称,它并不指具体的某个虚拟机.所以,谈到java虚拟机时,往往我 ...

  2. B - 规律题2

    10 123456 1:f(y)=1+2+3+4+5+6=21 2:f(y)=3 3        3 b进制,<b; 10 123 1+2+3=6;是3的倍数 1234 =(999)*1+99 ...

  3. Codeforces Round #678 (Div. 2)【ABCD】

    比赛链接:https://codeforces.com/contest/1436 A. Reorder 题解 模拟一下这个二重循环发现每个位置数最终都只加了一次. 代码 #include <bi ...

  4. P3381 [模板] 最小费用最大流

    EK  + dijkstra (2246ms) 开氧气(586ms) dijkstra的势 可以处理负权 https://www.luogu.org/blog/28007/solution-p3381 ...

  5. 【2020杭电多校】 Lead of Wisdom、The Oculus

    题目链接:Lead of Wisdom 题意:有n个物品,这些物品有k种类型.每种物品有对应的类型ti,其他值ai,bi,ci,di 你可以选择一些物品,但是这些物品要保证它们任意两者之间类型不能相同 ...

  6. Codeforces Round #479 (Div. 3) D. Divide by three, multiply by two (DFS)

    题意:给你一个长度为\(n\)的序列\(a\).对它重新排列,使得\(a_{i+1}=a_{i}/3\)或\(a_{i+1}=2*a_{i}\).输出重新排列后的序列. 题解:经典DFS,遍历这个序列 ...

  7. Python 闭包及装饰器

    闭包是指延伸了作用域的函数. 自由变量(free variable) 指未在本地作用域中绑定的变量 函数装饰器用于在源码中标记函数, 以某种方式增强函数的行为. 装饰器实质,把被装饰的函数替换为新函数 ...

  8. K8S(03)核心插件-Flannel网络插件

    系列文章说明 本系列文章,可以基本算是 老男孩2019年王硕的K8S周末班课程 笔记,根据视频来看本笔记最好,否则有些地方会看不明白 需要视频可以联系我 K8S核心网络插件Flannel 目录 系列文 ...

  9. 实战交付一套dubbo微服务到k8s集群(5)之使用Jenkins进行持续构建交付dubo服务的提供者

    1.登录到jenkins,新建一个项目 2.新建流水线 3.设置保留的天数及份数 4.添加第一个参数:设置项目的名称 5.添加第二个参数:docker镜像名称 6.添加第三个参数:项目所在的git中央 ...

  10. LEETCODE - 1181【前后拼接】

    class Solution { public: string gethead(string str){//获取头单词 string ret = ""; int strlen = ...