java的基础知识
编写一个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中的注释有三种:
单行注释://
多行注释:/**/
*文档注释(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;
注意点
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
在把高容量转换到低容量的时候要用强制类型转换
转换的时候可能存在内存溢出,或者精度问题
操作比较大的数的时候,注意溢出问题
在JDK7有一个新特性,数字之间可以用下划线分割,如:10-0000-0000;中的下划线不会被输出
变量
可以变的量就是变量
Java是一种强类型语言,每个变量都必须声明其类型
Java变量是程序中最基本的储存单元,其要素包括变量名,变量类型和作用域
每个变量都有类型,类型可以是基本类型,也可以是引用类型
变量名必须是一个合法的标识符
变量声明是一条完整的语句,因此每一个声明都必须以分号结尾
最新文章
- 【完全开源】知乎日报UWP版:项目结构说明、关键源代码解释
- “NOSQL” 杂谈
- 移动端App广告常见的10种形式
- fedora22切换用户windows分区不能自动挂载
- spring 学习
- Extjs 窗体居中,双重窗体弹出时清除父窗体的鼠标事件
- go 字符变量
- Kali Linux Web 渗透测试— 第二十课-metasploit.meterpreter
- 2013 US Open Award Ceremoney
- Xcode文档下载与安装路径
- poj1273--Drainage Ditches(最大流Edmond-Karp算法 邻接表实现)
- CSS Positioning(定位)
- 枚举类TimeUnit
- nyist oj 756 重建二叉树
- 我的第五个网页制作:pre、html转义、abbr标签的使用
- 夏令营讲课内容整理 Day 2.
- freeRTOSConfig.h文件对FreeRTOS进行系统配置
- Linux环境(CentOS)安装维护过程中用到的常见命令
- pip使用简要说明
- centos下cmake编译安装mysql5.7.24
热门文章
- 从微信小程序到鸿蒙js开发【05】——tabs组件&;每日新闻
- 2019牛客暑期多校训练营(第十场)E-Hilbert Sort(分形)
- poj 2398Toy Storage
- 《软件建模与分析》——UML基本概念
- 【非原创】codeforces - 1067A Array Without Local Maximums【dp】
- 操作系统 part1
- codevs1068乌龟棋-四维DP,五维如何缩减一维
- vuepress &; package.json lock version
- linux 必备 学习 资源 汇总 大全!
- CURL (CommandLine Uniform Resource Locator) 简易教程!