Java入门笔记 01-Java基础语法
一、数据类型和运算符:Java是一种强类型语言,这意味着必须为每一个变量声明一种类型。
1.注释可以提高程序的可读性。可划分为
- 单行注释 //
- 多行注释 /.../
- 文档注释 /**...*/
2.标识符的命名规则:
- 标识符必须以字母、下划线_、美元符号$开头。
- 标识符其它部分可以是字母、下划线“_”、美元符“$”和数字的任意组合。
- Java 标识符大小写敏感,且长度无限制。
- 标识符不可以是Java的关键字。
3.标识符的命名规范:
- 表示类名的标识符:每个单词的首字母大写,如Man, GoodMan
- 表示方法和变量的标识符:第一个单词小写,从第二个单词开始首字母大写,我们称之为“驼峰原则”,如eat(), eatFood()
- 常量:所有字母都大写,两个单词间使用下划线连接。
4.变量的声明格式:
type varName [=value] [,varName[=value]...];
5.变量的分类:局部变量、实例变量、静态变量
6.常量的声明格式:常量一般使用全大写
final type varName = value ;
7.Java的数据类型可分为基本数据类型和引用数据类,基本数据类型的分类如下:
- 整型变量:byte、short、int、long
- 浮点型:float、double
- 字符型:char
- 布尔型:boolean,值为true或者false
float类型的数值有一个f或F后缀(如:3.14F),没有F后缀的默认为double类型。long类型的数值需要有一个L后缀。
8.Java语言支持的运算符可分为:整数除0会报异常,而浮点数除0会得到无穷大或NaN。
- 算术运算符: +,-,*,/,%,++,--
- 赋值运算符 =
- 扩展赋值运算符:+=,-=,*=,/=
- 关系运算符: >,<,>=,<=,==,!= ,instanceof
- 逻辑运算符: &&,||,! (&&和||是按照“短路”方式的,即如果第一个表达式已经能够确定表达式的值,就不需要计算第二个表达式),^(异或,当且仅当两个操作数具有不同的布尔值时,结果才为true)
- 位运算符: &,|,^,~ , >>,<<,>>>
- 字符串连接符:+
- 条件运算符 (三目运算符)?:
9.基本数据类型的类型转换可分为:
- 自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型
(待修改.. P55)
强制类型转换:用于显式的转换一个数值的类型,语法格式:
数字类型用 (type)var
数字转String类型用 String.valueOf( value )
String类型转数字用parse函数,例如 Integer.parseInt
- 只有极少数情况需要将布尔类型的数据转换为数值类型,这时可以使用条件表达式 b?1:0。
10.键盘的输入:Scanner类的使用
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String s1 = scanner.nextLine();
//或者直接调用
String s2 = new Scanner(System.in).nextLine();
11. 数学函数:在源文件的顶部加上 import static java.lang.Math.*; 就不必添加前缀“Math”。
【补充 直接量】
默认情况下,整型直接量是一个十进制数。使用以下来表示其他进制的整型直接量。
- 0B:二进制
- 0:八进制
- 0X:十六进制
【补充 科学计数法】
- 1.23*10^2: 1.23E2
- 1.23*10^(-2): 1.23E-2
二、控制结构
1.从结构化程序设计角度出发,程序有三种结构:
顺序结构、选择结构和循环结构
2.选择结构
(1)if单选择结构 if-else双选择结构 if-else if-else多选择结构
(2)switch-case多选择结构
3.多选择结构与switch的关系:当布尔表达式是等值判断的情况,可使用多重选择结构或switch结构,如果布尔表达式区间判断的情况,则只能使用多重选择结构
(1) 循环结构
(2)当型:while与for
(3)直到型:do-while
4.while与do-while的区别,在布尔表达式的值为false时while的循环体一次也不执行,而do-while至少执行一次
5.break可以在switch与循环结构中使用,而continue只能在循环结构中使用
6.方法(Method)就是一段用来完成特定功能的代码片段,类似于其它语言的函数
7.方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法
8.任何能用递归解决的问题也能使用迭代解决。在要求高性能的情况下尽量避免使用递归,递归调用既花时间又耗内存。
参考:https://www.cnblogs.com/xjtu-lyh/p/12257523.html
Java入门笔记 01-Java基础语法的更多相关文章
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
- [Java入门笔记] 面向对象编程基础(三):成员变量和局部变量
在类中,变量根据定义的位置不同,可以分为成员变量和局部变量.
- 【python3两小时快速入门】入门笔记01:基础
又要我搞爬虫了,这次的源网站使用的ajax加载数据,我用java爬下来的页面内容部分全都是空,虽然java也有插件,但是使用起来感觉很麻烦,所以,python!老子来了. 1. 版本:pytho ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- 【转载】Java系列笔记(1) - Java 类加载与初始化
Java系列笔记(1) - Java 类加载与初始化 原文地址:http://www.cnblogs.com/zhguang/p/3154584.html 目录 类加载器 动态加载 链接 初始化 示例 ...
- Go 语言入门(一)基础语法
写在前面 在学习 Go 语言之前,我自己是有一定的 Java 和 C++ 基础的,这篇文章主要是基于A tour of Go编写的,主要是希望记录一下自己的学习历程,加深自己的理解 Go 语言入门(一 ...
- Java系列笔记(2) - Java RTTI和反射机制
目录 前言 传统的RTTI 反射 反射的实现方式 反射的性能 反射与设计模式 前言 并不是所有的Class都能在编译时明确,因此在某些情况下需要在运行时再发现和确定类型信息(比如:基于构建编程,),这 ...
- 【转载】Java系列笔记(3) - Java 内存区域和GC机制
Java系列笔记(3) - Java 内存区域和GC机制 转载:原文地址http://www.cnblogs.com/zhguang/p/3257367.html 目录 Java垃圾回收概况 Java ...
- 黑马程序员_java基础笔记(01)...java的环境搭建
—————————— ASP.Net+Android+IOS开发..Net培训.期待与您交流!—————————— JavaSE(Java Standard Edtion java标准版)技术概况 ...
随机推荐
- EnumSet
这个概念是在 Effective Java中了解到的, 可以通过EnumSet来代替位域这种方式表达.并不是很常见的概念, 因此记录下.如果在这之前恰好了解过 bitmap这种数据结构就更好了.不了解 ...
- bugku 隐写2
首先打开链接发现是一张图片 然后分析一下图片 发现这个图片实际是一个压缩包 然后更改一下后缀名 改成zip 然后解压之后会发现另一个压缩包和一张图片压缩包需要密码然后这个图片是一个提示 然后分析 (我 ...
- nginx的负载均衡配置
1.下载nginx的压缩包,可以去官网下载 2.解压缩,可以看到其中有个conf的文件夹,在该目录中,nginx.conf配置文件就是核心配置文件 3.默认配置 #user nobody; worke ...
- 吴裕雄 python 机器学习——超大规模数据集降维IncrementalPCA模型
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from sklearn import datas ...
- dbGet net trace instant pin
proc rn { net_name } {puts " "puts "Net name : $net_name : "set name_rule [dbget ...
- markdown整理
html标签# h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 一级标题:内容=== 二级标题:内容--- 强调文字:>内容 链接:[文字](链接地址) 图 ...
- Tika结合Tesseract-OCR 实现光学汉字识别(简体、宋体的识别率百分之百)—附Java源码、测试数据和训练集下载地址
OCR(Optical character recognition) —— 光学字符识别,是图像处理的一个重要分支,中文的识别具有一定挑战性,特别是手写体和草书的识别,是重要和热门的科学研究方向.可 ...
- Nginx开始(自己使用,简单开始)
Nginx 1.网址 2.安装 如果需要资料的话可以直接来下载进行下载 前提 sudo yum install yum-utils 云主机重启之后需要执行 nginx -c /etc/nginx/ng ...
- 官方不再支持Python2,如何将你的项目完美迁移到Python3?
Python 2.x 很快就要失去官方支持了,不过不用慌,从 Python 2 迁移到 Python 3 却并没有想象中那么难.我在上周用了一个晚上的时间将一个 3D 渲染器的前端代码及其对应的 Py ...
- ThreadLocal是什么?
早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序. 当使 ...