JAVA基础语法-day02
五、变量、常量、作用域
静态量(类变量)只能写在类中,不能在外面,用static修饰。
final修饰的变量为常量。
六、运算符
Math类是一个工具类,用于复杂数学运算,它的构造器被定义成private,无法创建Math类的对象,Math类中所有的方法都是类方法,直接通过类名调用。
Math.max(a,b);
1、位运算符
2*8 = 16 2*2*2*2
效率极高!!!
<< 左移 *2 例:2<<3,左移三位
>> 右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
2、串连接符 +
略
七、包
定义:使用package定义包。-----------package 包名
导入包:使用import----------------------import 包名
*是所有东西
创建递进关系的包
八、JavaDoc命令生成自己的API文档
九、流程控制
1、用户交互scanner类
Scanner s = new (System.in);
Scanner类的next()方法以空格结束与nextLine()方法以回车结束获取输入的字符串,在读取之前一般需要使用hasNext()与hasNextLine()判断是否还有输入的数据
public class Scan1 {
public static void main(String[] args) {
//创建扫描器对象s,用于接收键盘数据
Scanner s = new Scanner(System.in);
System.out.println("使用next接收:");
//判断用户是否输入数据
if (s.hasNext()) {
//使用next()方法接收
String p = s.next();
System.out.println("输入内容:" + p);
}
//凡是属于IO流的类如果不关闭 会一直占用资源,要养成好习惯用完就关掉
s.close();
}
}
2、顺序结构
3、if选择结构
if单选择结构--if
if双选择结构--if else
if多选择结构--
if(){}
else if(){}
else{}
if嵌套结构--
if(){
if(){
}
}
4、switch多选择结构
5、循环结构
for循环
for(初始化;判断条件;迭代){
}
whlie循环
--先判断后执行
do--whlie循环
--先执行后判断,至少执行一次。
增强for循环
for(声明语句:表达式)
{
代码句子
}
例:int[] num = {1,2,3};
for(int x: num){
System.out.println(x);
}
6、break
break用于强行退出循环,不执行循环中剩余的语句。
7、continue
continue用于终止某次循环,接着进行下一次循环判断。
8、标签
标签==goto
对Java来说唯一 用到标签的地方是在循环语句之前。 而在循环之前设置标签的唯一理由是:我们希望在其中嵌套另一个循环,由于break和continue关键字通常只中断当前循环,但若随同标签使用,它们就会中断到存在标签的地方。
public class Demo07_Label {
public static void main(String[] args) {
//打101- 150之问所有的质数
int count = 0;
//不建议使用!
outer:for (int i = 101;i < 150;i++){
for (int j = 2; j < i/2;j++){
if (i %j== 0){
continue outer;
}
}
System.out.print(i+" ");
}
}
}
十、方法
设计方法的原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成1个功能,这样利于我们后期的扩展。
- 静态方法--static
- 通过类.方法名直接调用
- 非静态方法
- 实例化这个类再调用方法
1、方法的定义
- 方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
- 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
- 返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。
- 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
- 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
- 形式参数:在方法被调用时用于接收外界输入的数据。
- 实参:调用方法时实际传给方法的数据。
- 方法体:方法体包含具体的语句,定义该方法的功能。
修饰符 返回值类型 方法名(参数类型参数名){
方法体
return返回值;
}
当不需要返回值是,返回值类型必须为void
2、方法调用
- 调用方法:对象名.方法名(实参列表)
- Java支持两种调用方法的方式,根据方法是否返回值来选择。
- 当方法返回一个值的时候,方法调用通常被当做一个值。例如:
int larger = max(30,40); - 如果方法返回值是void,方法调用一定是一条语句。
System. out. println( “Hello,world!”);
3、方法重载
- 定义:重载就是在一个类中,有相同的函数名称,但形参不同的函数。
- 方法的重载的规则:
- 方法名称必须相同。
- 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
- 方法的返回类型可以相同也可以不相同。
- 仅仅返回类型不同不足以成为方法的重载。
- 实现理论:
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错。
4、命令行传参
有时候你希望运行一个程序时候再传递给它消息。这要靠传递命令行参数给main()函数实现。
5、可变参数
- JDK 1.5开始,Java支持传递同类型的可变参数(不定项)给一个方法。
- 在方法声明中,在指定参数类型后加一个省略号(…)。
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
6、递归(能不用就不用)
- 递归就是: A方法调用A方法!就是自己调用自己
- 递归结构包括两个部分:
1.递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
2.递归体:什么时候需要调用自身方法。
7、实参与形参
public static void main(String[] args) {
add(2,3);////这里的2,3是实参
}//实参与形参的类型要对应!!
public static void add(int a,int b){///a,b是形参
System.out.println(a+b);
}
}
8、值传递与引用传递
- 值传递
public class CaoGao {
public static void main(String[] args) {
int a= 1;
System.out.println(a);
CaoGao.change(a);
System.out.println(a);
}
public static void change(int a){//返回为空没有改变成员变量
a = 10;
}
}
结果:1 1
- 引用传递
public class CaoGao {
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null
CaoGao.change(person);
System.out.println(person.name);//葫芦娃
}
public static void change(Person person) {
//person是一个对象:指向的-->Person person = new Person();可以改变属性
person.name = "葫芦娃";
}
}
class Person{
String name;
}
JAVA基础语法-day02的更多相关文章
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- Java基础语法(下篇)
Java基础语法(下篇) 内容概要: (1)函数的定义 (2)函数的特点 (3)函数的应用 (4)函数的重载 ...
- Java基础语法(上篇)
Java基础语法(上篇) 知识概要: (1)关键字的表示与规范 (2)标示符 (3)注释 (4 ...
- java——基础语法
java基础语法 1.关键字:java赋予特殊含义的单词. 2.标识符:程序中开发人员自定义的名词,例如:类名,函数名,变量名(注意事项:①不能以阿拉伯数字开头②不能采用关键字). 3.常量:固定的数 ...
- java基础语法(二)--单列模式
java基础语法(二)--单列模式 /** * 功能:单列模式 * @author Administrator * */ public class SingletonTest { public sta ...
- java基础语法(一)
java基础语法(一) 1.类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念.先有类,然后由类来生成 对象(Object).对象又叫做实例(Instance). 2.类由两大部分构成:属性 ...
- Java基础语法入门01
Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...
- Java匹马行天下之JavaSE核心技术——Java基础语法
Java基础语法 一. 认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...
- JAVA基础语法——标识符、修饰符、关键字(个人整理总结)
JAVA基础语法——标识符.修饰符.关键字 一 . 标识符 1.1 什么是标识符 就是程序员在定义java程序时,自定义的一些名字,例如helloworld 程序里关键字class 后跟的Dem ...
随机推荐
- Spring-@PostConstruct注解
@PostConstruct注解 @PostConstruct注解好多人以为是Spring提供的.其实是Java自己的注解. Java中该注解的说明:@PostConstruct该注解被用来修饰一个非 ...
- 12.Quick QML-QML 布局(Row、Column、Grid、Flow和嵌套布局) 、Repeater对象
1.Row布局 Row中的item可以不需要使用anchors布局,就能通过行的形式进行布局. 并且item可以使用Positioner附加属性来访问有关其在Row中的位置及其他信息. 示例如下所示, ...
- 中文NER的那些事儿1. Bert-Bilstm-CRF基线模型详解&代码实现
这个系列我们来聊聊序列标注中的中文实体识别问题,第一章让我们从当前比较通用的基准模型Bert+Bilstm+CRF说起,看看这个模型已经解决了哪些问题还有哪些问题待解决.以下模型实现和评估脚本,详见 ...
- SpringBoot自动装配源码
前几天,面试的时候被问到了SpringBoot的自动装配的原理.趁着五一的假期,就来整理一下这个流程. 我这里使用的是idea创建的最简单的SpringBoot项目. 我们都知道,main方法是jav ...
- 问题:dependencyManagement和dependencies有什么区别
dependencyManagement和dependencies有什么区别 一.Maven的包管理 在maven中,dependencyManagement.dependencies和depende ...
- Python3解决棋盘覆盖问题的方法示例
本文实例讲述了Python3解决棋盘覆盖问题的方法.分享给大家供大家参考,具体如下: 问题描述: 在2^k*2^k个方格组成的棋盘中,有一个方格被占用,用下图的4种L型骨牌覆盖所有棋盘上的其余所有方格 ...
- 【Nacos】Springboot整合Nacos配置中心(二) 多环境配置
本篇随笔接上一篇文章:Springboot整合Nacos配置中心(一),主要记录Nacos多环境的配置的方法 Nacos多环境的配置 方法一: 1.在项目中的bootstrap.yaml文件中配置激活 ...
- 从苏宁电器到卡巴斯基第13篇:我在苏宁电器当营业员 V
强大的竞争对手 与现在遍地开花的苹果店相比,在2010年左右的时候,在长春,真正得到苹果授权的苹果店还是屈指可数的.当时在重庆路上如果想买苹果的产品,要么可以去苏宁国美,要么只能去卓展楼上的苹果专区了 ...
- UVA10970大块巧克力
题意: 题意,给你一块n*m的巧克力,最终是要把他切成n*m快小蛋糕,问最小切多少刀?每一刀只能把一个整体切成两个整体,不可以把两个整体分成四个整体,就是说只能切一个地方. 思路: ...
- Windows核心编程 第八章 用户方式中线程的同步(上)
第8章 用户方式中线程的同步 当所有的线程在互相之间不需要进行通信的情况下就能够顺利地运行时, M i c r o s o f t Wi n d o w s的运行性能最好.但是,线程很少能够在所有的时 ...