java基础总结——基础语法1
一、标示符
二、关键字
三、java基本数据类型
3.1 常量
● 常量表示不能改变的数值。
● java中常量的分类:
1. 整数常量。所有整数
2. 小数常量。所有小时
3. 布尔型常量。较为特有,只有两个数值。true false。
4. 字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
5. 字符串常量。将一个或者多个字符用双引号标识。
6. null常量。只有一个数值就是:null.
● 对于整数:java有三种表现形式。
十进制:0-9 ,满10进1.
八进制:0-7 ,满8进1. 用0开头表示。
十六进制:0-9,A-F,满16进1. 用0x开头表示。
3.2变量
从本质上来讲,变量其实是内存里面的一小块区域,一个程序在运行的时候,实际上这个程序是位于内存里面,然后才开始运行。一个.exe文件存放在硬盘上是无法运行的,在硬盘上看到的.exe文件无非就是一个文件而已,当我们双击这个.exe文件时,运行起来的时候实际上是整个.exe文件被放在了在内存里面,然后操作系统找到main方法,也就是程序的入口,然后就开始执行了。执行的过程之中,会不断地在内存里面分配一些区域,变量在内存里面就是一小块区域,变量有两个概念,一个是变量的名字,另一个是变量的值,即这一小块区域是有名字的,里面装着一个值,因此以后要想访问这小块区域里面的内容就可以根据这小块区域的名字来访问了。因此,变量的本质就是一小块内存区域。就变量来说,该在内存里面分配多大的存储空间呢?不同的变量类型分配不同大小的存储空间,每一个变量都是属于特定的数据类型的,声明成不同的数据类型,它就在内存里面分配不同的存储空间。
变量作用域:变量的作用域只在“{ }”有效,出了这个“{ }”就没有作用了
以上转自:http://www.cnblogs.com/xdp-gacl/p/3624567.html
3.3 变量的分类
3.4 java数据类型划分
四、基本数据类型详细讲解
4.1 逻辑型boolean
4.2 文本型char
4.3 整数型(byte、short、int、long)
char类型占2个字节
short从-32768到32767
int从-2147483648,到2147483647共10位
long从-9223372036854775808到9223372036854775807共19位
4.4 浮点型(float、double)
在 数学中0到1有无数个浮点数;而计算机是离散的,所以表示的时候有误差,计算机用精度(小数点后几位来表示正确),比较浮点数时a==0.1是不合适的, 应该a-0.1==0;如果a是0.1,则即使有误差
a-0.1==0因为a和0.1都被表示为一个有误差的计算机二进制
byte 字节型,在内存中占有1个8位 取值范围 -128 ~~127
short短整型,在内存占有2个8位 取值范围 -32768 ~~
32767
int 整型,在内存中占有4个8位 取值范围-2147483648~~2147483647
我们生活中数据,整数,都默认是int类型
long长整型,内存中占有8个8位,计算天文数据
float单精度浮点类型,4个8位
double双精度浮点类型,8个8位,生活中小数默认都是double
char 字符型,存储单一字符,内存中占2个8位
boolean 布尔类型,2个值,都是关键字
真true 假false
4.5数据类型转换
看看下面程序出现错误的原因:
byte b = 4;
byte b1 = 3;
byte b2 = 7;
b = b1 + b2;====>>>b1和b2是变量,而b是byte类型,无法保证b1+b2是否超出其取值范围
System.out.println(b);
public class TestConvert {
public static void main(String arg[]) {
int i1 = 123;
int i2 = 456;
double d1 = (i1+i2)*1.2;//系统将转换为double型运算
float f1 = (float)((i1+i2)*1.2);//需要加强制转换符
byte b1 = 67;
byte b2 = 89;
byte b3 = (byte)(b1+b2);//系统将转换为int型运算,需要强制转换符
System.out.println(b3);
double d2 = 1e200;
float f2 = (float)d2;//会产生溢出
System.out.println(f2);
float f3 = 1.23f;//必须加f
long l1 = 123;
long l2 = 30000000000L;//必须加l
float f = l1+l2+f3;//系统将转换为float型计算
long l = (long)f;//强制转换会舍去小数部分(不是四舍五入)
}
}
五 运算符
5.1算术运算符
/ :这个符号在计算中,如int中,人类计算结果是有小数的,而计算机会把小数部分干掉
%(取余) :如果左边的数比右边的数小,则结果是左边的数
++、-- :在变量的左边,进行先加再运算。在右边则进行先运算后加。
5.2 逻辑运算符
^符号两边结果相同,则为false;如果两边结果不同,则为true
^规律:一个数异或同一个数两次,结果还是这个数
如例两整数换位:a=3,b=5不用第三方变量使a=5,b=3 (a=a^b;b=a^b;a=a^b)
面试题:&,&&和|,||的区别
&&和&:
和&(两边都为真,才为真)运算的结果是一样的。但是运算过程有点小区别。
&:无论左边的运算结果是什么,右边都参与运算。
&&:当左边为false时,右边不参与运算的。
||和|:
和|(两边只要一个为真,就为真)运算的结果是一样的。但是运算过程有点小区别。
|:无论左边的运算结果是什么,右边都参与运算。
||:当左边为true时,右边不参与运算的。
5.3 赋值运算符
= , +=, -=, *=, /=, %=
左右两边的和,减,乘,除,余赋值给左边!
5.4 字符串连接符
5.5表达式
5.6 三目运算符
x?y:z
java基础总结——基础语法1的更多相关文章
- Java基础之基础语法
前言:Java内功心法之基础语法,看完这篇你向Java大神的路上又迈出了一步(有什么问题或者需要资料可以联系我的扣扣:734999078) 一个Java程序可以认为是一系列对象的集合,而这些对象通过调 ...
- Java入门 - 语言基础 - 03.基础语法
原文地址:http://www.work100.net/training/java-basic-syntax.html 更多教程:光束云 - 免费课程 基础语法 序号 文内章节 视频 1 第一个Jav ...
- [原]Java修炼 之 基础篇(一)Java语言特性
学习软件开发,首先要选择的就是选择需要采用的编程语言,考虑语言本身的优缺点和实际需求,综合评价之后选择相关的语言进行系统开发.本篇博客开始就从近年来比较流行的Java开始为大家讲起. 背景 1995年 ...
- Java 笔试面试 基础篇 一
1. Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法, 线程的语法,集合的语法,io 的语法,虚拟机方面的语法. 1.一个".java& ...
- Java面向对象编程基础
一.Java面向对象编程基础 1.什么是对象?Object 什么都是对象! 只要是客观存在的具体事物,都是对象(汽车.小强.事件.任务.按钮.字体) 2.为什么需要面向对象? 面向对象能够像分析现实生 ...
- 2.4JAVA基础复习——JAVA语言的基础组成数组
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- 2.2JAVA基础复习——JAVA语言的基础组成运算符和语句
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- 2.1JAVA基础复习——JAVA语言的基础组成注释和常量变量
JAVA语言的基础组成有: 1.关键字:被赋予特殊含义的单词. 2.标识符:用来标识的符号. 3.注释:用来注释说明程序的文字. 4.常量和变量:内存存储区域的表示. 5.运算符:程序中用来运算的符号 ...
- JVM 内部原理(七)— Java 字节码基础之二
JVM 内部原理(七)- Java 字节码基础之二 介绍 版本:Java SE 7 为什么需要了解 Java 字节码? 无论你是一名 Java 开发者.架构师.CxO 还是智能手机的普通用户,Java ...
- JVM 内部原理(六)— Java 字节码基础之一
JVM 内部原理(六)- Java 字节码基础之一 介绍 版本:Java SE 7 为什么需要了解 Java 字节码? 无论你是一名 Java 开发者.架构师.CxO 还是智能手机的普通用户,Java ...
随机推荐
- java12
1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...
- this a a mark down test
*** this is title ''' code '''
- c/c++ printf
%d int %s string %p point值 %c char %lu long unsigned int
- js小游戏---智力游戏
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...
- 笔记本双系统XP与Ubuntu,重装XP后如何恢复grup引导,另附操作系统启动过程
背景:笔记本双系统(XP与Ubuntu),其中XP系统因问题重装了一下,重装后不能识别Ubuntu系统(该系统装在另一个磁盘中),直接进入了XP系统. 解决办法:利用U盘(Ubuntu系统)启动机器, ...
- 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程
测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...
- 配置Tomcat使用https协议
一. 创建tomcat证书 这里使用JDK自带的keytool工具来生成证书: 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令: ...
- ZXing生成二维码
dll:http://files.cnblogs.com/files/jake-ge/ZXing.rar 引入命名空间 using System.Drawing;using System.IO;usi ...
- Objective-C 中self.与_访问方式的区别
Objective-C中属性self.a与_a访问的区别: 在OC中我们可以通过指令@property定义属性. OC对属性封装了许多方法,同时也会自动实现一些方法,相比实例变量,感觉更加面向对象些. ...
- requirejs(一)
RequireJs已经流行很久了,我们在项目中也打算使用它.它提供了以下功能: 声明不同js文件之间的依赖 可以按需.并行.延时载入js库 可以让我们的代码以模块化的方式组织 初看起来并不复杂. 在h ...