1.       声明long类型的变量 需要在数值的末尾+l/L。(不加L的话,貌似默认就是int型了。当给long赋值一个超过int范围的值的时候,会出问题。)

2.  package java_study;

public class 你好{

public static void main(String
[] args){
   /*
   1.以字母,数字,下划线_,$
   2.不能以数字开头
   3.严格区分大小写
   4.长度无限制
   5.不能是java中的关键字
      */
        System.out.println("汉字也能当类名");

}
}

3.

/*

跳转到对应的周几

技能:认识switch

switch(){

case
常量:

逻辑

break;

case
常量:

逻辑

break;

。。。。

default:

逻辑;

break;

总结:1.switch(表达式)byte
short int char String enum(枚举)

2.case 后面必须是常量 固定的值

3.case 常量不能重复 错误: case 标签重复

4.default是可选的(可有可无的)

5.防止语句块之间的穿透

}

*/

4. /*

逻辑运算符:

&:两边的表达式都为true,结果才是true

&&:两边的表达式都为true,结果才是true,如果前面的表达式为false不再计算后面的表达式

|:两边的表达式一个为true,结果就是true

||:两边的表达式一个为true,结果就是true;

如果前面的表达式为true,不再计算后面的表达式

*/

class
Home1{

public static void main(String []args){

//定义boolean类型的变量

int x = 3;

int y = 4;

boolean b1 = y > x | ++x >--y;

System.out.println(b1+" "+
x+"  "+y);

x = 3;

y = 4;

b1 = y > x || ++x > --y;

System.out.println(b1+" "+
x+"  "+y);

}

}

5.

//使用三目运算符,写出3个数内的最大数

import
java.util.*;

class
Home2{

public static void main(String []args){

//创建对象

Scanner input = new Scanner(System.in);

//创建3个数用于比较

System.out.println("请输入第1个数");

int num1 = input.nextInt();

System.out.println("请输入第2个数");

int num2 = input.nextInt();

System.out.println("请输入第3个数");

int num3 = input.nextInt();

//比较

//int d = num1>num2?num1:num2;

//int maxNum = d>num3?d:num3;

//             X     ?            Y                          Z

int maxNum = num1 > num2 ?(num1 > num3
? num1 : num3):(num2 > num3 ? num2 : num3);

//输出结果

System.out.println("最大值是\t"+maxNum);

}

}

6. /*

交换两个数的位置

5 = 2 + 3;

2 = 5 - 3;

3 = 5 - 2;

*/

class
Home3{

public static void main(String []args){

//定义两个数

int a = 10;

int b = 20;

//输出交换前的结果

System.out.println("a的值为\t"+a+",b的值为\t"+b);

//交换

a = a + b;

b = a - b;//30 - 20;

a = a - b;

//交换后的结果

System.out.println("a的值为\t"+a+",b的值为\t"+b);

}

}

7. 一,如何拿到char类型的数据

字符串.charAt(index);下标0开始

String s  ="我是中国人";

char c = s.charAt(2);

二,循环

1.求偶数的和

2.每行输出5个

1.初始化条件:执行一次并且不能省略

2.循环条件:while ,do{}while();是否可以省略;  boolean类型

3.循环体

4.迭代条件:死循环

1

while(2){

3

4

}

1

do{

3

4

即使初始化条件不满足循环条件,也会执行一次循环体

}while(2);

for(1;2;4){

3

}

流程控制语句:

break:结束循环

continue:结束本次循环并继续执行下一次循环

return:结束一个方法

三,嵌套循环:将一个循环作为另一个循环的循环体

*******

*******

*******

外层控制行数

内层控制列数

8. /*

do{}while;

输出1~100内的偶数,每行输出5个

2,4,6,8,10

12,14,16,18,20

1.判断是不不是偶数

2.统计偶数的个数

*/

class
DoWhileTest2{

public static void main(String [] args){

//定义一个变量,初始化条件

int i = 1;

//定义变量统计个数

int count = 0;

do{

//循环体

if(i%2==0){

//print不换行

System.out.print(i+"\t");

//统计偶数个数

count++;

//每行输出5个 偶数个数==5时换行

if(count%5==0){

System.out.println();

}

}

//迭代条件

i++;

}while(i<=100);

//输出结果

System.out.println("1~100内偶数的个数是\t"+count);

}

}

9. /*

流程控制语句

break:结束循环 END

continue:结束本次循环,继续循环  END

return:结束一个方法

注意:流程控制语句下不能写逻辑

无法访问的语句

*/

class
LoopTest{

public static void main(String [] args){

for(int i = 1;i<=10;i++){

if(i==5){

//break;

continue;

//return;

System.out.println("如果能输出,给你一百万!!");

}

System.out.println(i);

}

System.out.println("END");

}

}

10.eclipse里 main    Alt +/ 快捷输入  Sysout

F3 查看源码   Alt+←返回

11.

1.增强for循环和iterator遍历的效果是一样的,也就说

增强for循环的内部也就是调用iteratoer实现的(可以查看编译后的文件),但是增强for循环 有些缺点,例如不能在增强循环里动态的删除集合内容。不能获取下标等。

2.ArrayList由于使用数组实现,因此下标明确,最好使用普通循环。

3.而对于 LinkedList 由于获取一个元素,要从头开始向后找,因此建议使用 增强for循环,也就是iterator。

/*

数组的遍历

数组的有序指的是索引的顺序

两种循环对比:

1.增强for循环

      for(数据类型标识符:数组名){

         System.out.println(标识符);

      }

简单

2.普通循环 能够操作下标

*/

class Arrays2{

public static void main(String
[] args){

//定义一个数组

int [] arr =
{12,45,23,10,98,78,100};

//arr[0],arr[1],

//遍历方式一

for(int i = 0;i<arr.length;i++){//0~6

System.out.println(arr[i]);

}

//第二种方式增强for循环

for(int num:arr){

System.out.println(num);

}

}

}

12. class ValueTest1{

public static void main(String [] args){

int num = 10;

System.out.println("方法调用前num的值\t"+num);//10

changeValue(num);

System.out.println("方法调用后num的值\t"+num);//10

}

public static void changeValue(int
num){//int num = num

num = 20;

System.out.println("方法调用中num的值\t"+num);//20

}

}

13.

class ValueTest2{

public
static void main(String [] args){

String
[]student = new String[3];

for(int
i = 0;i<student.length;i++){

student[i]
= "范冰冰";

}

int
num = 10;

for(String
s:student){

System.out.println(s);

}

System.out.println("方法调用前\t"+student[0]);//范冰冰

changeValue(student);

System.out.println("方法调用后\t"+student[0]);//周杰伦

}

//声明方法

public
static void changeValue(String[] student){

student[0]
= "周杰伦";

student[1]
= "周杰";

System.out.println("方法调用中\t"+student[0]);//周杰伦

}

}

总结:

1、对于基本类型参数,在方法体内对参数进行重新赋值,并不会改变原有变量的值。

2、对于引用类型参数,在方法体内对参数进行重新赋予引用,并不会改变原有变量所持有的引用。

3、方法体内对参数进行运算,不影响原有变量的值。

4、方法体内对参数所指向对象的属性进行操作,将改变原有变量所指向对象的属性值。

也就是说,对于基本数据类型,实现的是传值,只是个形参,不会改变原有值。对于引用数据类型,对这个引用进行操作,其实也是相当于对形参的操作,不会改变原来的引用。但是,当对这个引用的属性进行操作的时候,相当于CPP中的传址调用,可以改变这个引用的属性的值。

Eg:

public class Main {

private static void
getMiddleOne(boolean b, Boolean boo, Boolean[] arr){

b = true;  //形参,不会改变原有值

boo = new
Boolean(true);  //引用变量的直接操作相当于值传递,不会改变原来的引用变量

arr[0] = true;  //引用变量的属性的操作,会改变原有引用的属性,相当于传址调用

}

//测试

public static void
main(String[] args) {

boolean b = false;

Boolean boo = new
Boolean(false);

Boolean[] arr = new
Boolean[]{false};

getMiddleOne(b, boo,
arr);

System.out.println(b);

System.out.println(boo.toString());

System.out.println(arr[0]);

/**

* output:

*         false

*         false

*          true

*/

}

}

14.

/*

流程控制语句深入

在循环外侧+label(可以自定义)

break label:label在哪里就结束哪层循环

continue:结束内层循环,继续外层循环

1234 1234 1234 1234 1234 1234 1234 1234 1234 1234

*/

class BreakTest{

public static void main(String [] args){

label:for(int i = 1;i<=10;i++){

for(int j = 1;j<=10;j++){

if(j==5){

//break ;

continue label;

}

System.out.print(j);

}

System.out.println();

}

}

}

15.

class JinZhi{

/*

将一个10进制的数转为二进制数

1.定义一个10进制数

2.除以2取余数  取商

3.将商作为被除数继续 取余数,取商

4.当商为0时终止

5.注意:result类型为String

*/

public static void
main(String [] args){

//定义一个数

int num = 6;//110

String result =
"";

//处理逻辑

while(num!=0){

//取余数

int yuShu =
num%2;//0 , 1,  1

//让最后输出(最新的数据)的位于字符串的最前面

result =
yuShu+result;//0+

System.out.println(result);

//取商

int shang =
num/2;

//将商作为被除数

num =
shang;

}

//输出解果

}

}

java基础(个人学习笔记) A的更多相关文章

  1. java基础知识学习笔记

    本文知识点以js为参照.对比分析得出笔记.JavaScript之所以叫JavaScript是打算借助java推广自己.虽然都是开发语言,但JavaScript一开始主要运行在 客户端,而java主要运 ...

  2. Java基础加强学习笔记(二)

    一.反射的基础Class类 1.如何得到各个字节码对应的实例对象 (1)类名.class,例如 System.class (2)对象.getClass(),例如 new Data().getClass ...

  3. 异常处理——毕向东Java基础教程学习笔记

    1.异常:就是程序运行过程中出现的不正常情况. 异常的由来:问题本身也是日常生活中一个具体的事物,也可以通过java类的形式进行描述,并封装成对象.                        其实 ...

  4. JAVA 基础加强学习笔记

    一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函 ...

  5. JAVA 基础知识学习笔记 名称解释

    Java ee:​ IDE: ​ itegrity   development environment 集成开发环境 JMS:​ java Message Service java   信息服务 JM ...

  6. Java基础知识学习笔记(一)

    理解面向对象: Java纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三个基本特征:继承.封装.多态. Java程序的最小单位是类,类代表客观世界中具有某种特征的一类事物,这些类可 ...

  7. 匿名内部类--毕向东java基础教程学习笔记

    1.匿名内部类其实就是内部类的简写形式. 2.定义匿名内部类的前提: 该内部类必须继承一个类,或者实现一个接口. 3.匿名内部类的格式:new 父类名或接口名(){定义子类内容:} 4.其实匿名内部类 ...

  8. 内部类--毕向东Java基础教程学习笔记

    内部类的访问规则 1. 内部类可以直接访问外部类的成员,包括私有. 之所以可以直接访问外部类的成员,是因为内部类中持有外部类的引用,格式:外部类名.this 2.外部类要访问内部类,必须建立内部类对象 ...

  9. Java多线程技术学习笔记(二)

    目录: 线程间的通信示例 等待唤醒机制 等待唤醒机制的优化 线程间通信经典问题:多生产者多消费者问题 多生产多消费问题的解决 JDK1.5之后的新加锁方式 多生产多消费问题的新解决办法 sleep和w ...

随机推荐

  1. Android事件总线(一)EventBus3.0用法全解析

    前言 EventBus是一款针对Android优化的发布/订阅事件总线.简化了应用程序内各组件间.组件与后台线程间的通信.优点是开销小,代码更优雅,以及将发送者和接收者解耦.如果Activity和Ac ...

  2. MySQL修改编码为UTF-8无效果解决办法

    本来这是一件很简单的事,有很多博客里都有教程,但却足足花了我半天的时间才解决问题. 可能是因为我的MySQL安装时没有选择默认路径的原因,按照网上的教程修改了下图中的my.ini配置文件后编码并没有发 ...

  3. [20171220]toad plsql显示整形的bug.txt

    [20171220]toad plsql显示整形的bug.txt --//下午有itpub网友反应,一个查询在sqlplus,pl/sql下不同.链接如下:--//http://www.itpub.n ...

  4. 百度纯CSS生成菜单

    首页我们打看dreamweaver或其它编辑器,创建一个名为nav的导航菜单 <div class="nav"> <ul> <li><a ...

  5. sql server 无法sa登录解决办法

    大概流程:在SQL软件里面设置解决 大概流程: 打开 控制面板 -> 管理工具 -> 服务..... 详细参考地址: https://blog.csdn.net/github_351606 ...

  6. 【PAT】B1062 最简分数(20 分)

    如果了解分数运算,本题很简单.我有对分数知识进行总结 分数四则运算 #include<stdio.h> #include<algorithm> using namespace ...

  7. 【PAT】B1067 试密码(20 分)

    注意读取时的换行符用getchar吸收 第十个错误后直接输出锁定 #include<cstdio> #include<string.h> int main(){ char mi ...

  8. ccf题库20170903--Json查询

    题目如下: 试题编号: - 试题名称: JSON查询 时间限制: .0s 内存限制: .0MB 问题描述: 问题描述 JSON (JavaScript Object Notation) 是一种轻量级的 ...

  9. JVM虚拟机查找类文件的顺序

    JVM查找类文件的顺序: 在doc下使用set classpath=xxx, 如果没有配置classpath环境变量,JVM只在当前目录下查找要运行的类文件. 如果配置了classpath环境,JVM ...

  10. 三叔学FPGA系列之一:Cyclone V中的时钟资源

    之前的项目中更多的是有师兄提供经验和帮助,追求的是快速上手,所以不管对于硬件电路设计,还是verilog电路编程,甚至是FPGA内部的资源,都没来得及系统地学习,最近在做算法到电路的实现,正好系统学习 ...