java_basic_基础
变量
类型
运算符
条件
循环
调试
字符串
数组
从键盘输入数据
switch的用法 从变量接收值
从键盘接收值
输出到一个文件 基本类型的赋值与引用类型的赋值是不一样的
是将引用类型的地址 每一个对象属于某些特殊的类
3种
类叫做对象的类
对象叫做类的实例和
内存如何存放数据
数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间
内存地址不好记,怎么办?,可以通过内存中小房间的别名找到数据存储的位置
变量就像是一个房间
变量名 房间名字(例如房号301)
变量类型 房间类型(例如双人间)
变量值 入住的客人(虽然是双人间,但可以只住一个人)
====================================
int,short,long,byte,char,boolean,float,doubleint型
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
int num1=1000;//默认十进制
int num2=0123;//八进制
int num3=0x123;//16进制
int num4=0b10;//2进制
//数据类型int,变量名,值
System.out.println(num4);
}
}
变量的声明与赋值,两种方式,类比住店
现住
int money=1000;
预定
int money;
money=1000;
变量命名规范
自动类型转换
强制转换
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
int money;
money=1000;
money=0123;
money=0x123;
money=0b10;
System.out.println("money="+money);
long num;
num=034l;
System.out.println("num="+num);
System.out.println(Long.MAX_VALUE);
System.out.println(Byte.MAX_VALUE);
char aa='a';
char ab='男';
char ac='\'';
char ad='\\';
boolean b1=true;
System.out.println(b1);
System.out.println(Character.isJavaIdentifierStart(6598));
String ss="ad"+"cd";
System.out.println(ss);
}
}
==============================
运算符
赋值
算术
=============================
条件
package demo2;
import java.util.Scanner;
public class VarDemo1 {
public static void main(String[] args) {
System.out.print("请输入一个整数:");
Scanner sc=new Scanner(System.in);
int num=sc.nextInt();
switch (num) {
case 1:
System.out.println("y");
break;
case 2:
System.out.println("e");
break;
default:
System.out.println("oooooo");
break;
}
}
}
switch语句的注意点
表达式可以是byte,short,char,int,enum,string,也就是switch(num)中的num
break可以省略,但是有个穿透现象,所以还是加上好
default也可以省略,也可以不出现在最后,但是也有一些问题,所以也不要乱放
与多重if条件的区别
===========================================
循环
必要性(也就是没有使用循环时)
写n多遍
system.out.println("aaaaaaa");
system.out.println("aaaaaaa");
system.out.println("aaaaaaa");
system.out.println("aaaaaaa");
system.out.println("aaaaaaa");
system.out.println("aaaaaaa");
system.out.println("aaaaaaa");
......
使用循环
想写几行写几行
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) {
System.out.println(i+" aaaaaaa");
}
int total=0;
for (int i = 0; i < 100; i++) {
total+=i;
}
}
}
=====================
循环的java实现有4种
for
foreach 在数组中使用,还有集合中
while
do...while
无论哪一种循环,都有4个必不可少的部分
初始部分,循环条件,循环体,迭代(变化的)部分
for的语法与执行顺序
for(参数初始化;条件判断;更新循环变量){
循环操作;
}
1参数初始化,只执行一次,234循环执行
2条件判断
3循环操作
4更新循环变量
死循环
for (;;){}
从基本的语法来灵活运用
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
/* for (int i = 0; i < 100; i++) {
System.out.println(i+" aaaaaaa");
}
*/
/* int total=0;
for (int i = 3; i <= 100; i+=3) {
total+=i;
}
System.out.println(total);*/
/* for (int i = 1; i <= 100; i++) {
if (i%2==0) {
System.out.println(i);
};
}
*/
/* for (int i = 2; i <= 100; i+=3) {
System.out.println(i);
}
*/
}
}
======================
while
do...while
while(条件判断){循环操作}
1条件判断成立,执行循环操作,否则循环退出
do{循环操作}while(条件判断);
先无条件执行一次循环操作,然后再条件判断
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
int i=1;
do {
if (i%3==0) {
System.out.println(i);
}
i++;
} while (i<100);
}
}
break,跳出循环而执行循环后面的语句。
break可以与switch和循环结构中
continue,跳出本次循环而执行下次循环。
continue只能用在循环里
==============================
嵌套循环和label标签的使用
在循环中使用循环的一种编程方式
内循环可以使用外循环中的变量
经典案例:九九表
package demo2;
/**
* 九九乘法表
*/
public class VarDemo1 {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"*"+i+"="+(i*j)+" ");
}
System.out.println();
}
}
}
label的使用,未用label,只跳出小循环
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= 10; j++) {
if (i + j == 6) {
System.out.println(j);
break;
}
}
System.out.println(i);
}
}
}
用label,跳出大循环
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
a: for (int i = 0; i <= 10; i++) {
for (int j = 0; j <= 10; j++) {
if (i + j == 6) {
System.out.println(j);
break a;
}
}
System.out.println(i);
}
}
}
=============================
调试
===============================
字符串的主要内容
String的概念与声明、赋值
String的拼接
String的常用方法
String的不可变
字符串拼接有下面两种方法
1+
2String类的concat()方法。这个用的较少
String的常用的几个方法
length()
equalsIgnoreCase()
toLowerCase()
toUpperCase()
equals()
java.lang.String类表示字符串
使用String对象存储字符串
String s="hello world";
String s=new String("hello world");
字符类型只能存储单个字符char s1='a'
string是java中的一个类,而类是可以做为类型为使用的
练习
package demo2;
import java.util.Scanner;
public class VarDemo1 {
public static void main(String[] args) {
//双引号放字符串,下面是最常见的声明方式
String s1="hello,world";
//单引号只能放字符,一个字母,一个汉字都可以
char c='a';
//通过String的一个构造方法来声明
String s2=new String("a");
String s3;
s3="hello";
System.out.println(s2.length());
String s4=s2+' '+s3;
System.out.println(s4);
String s5="A";
System.out.println(s5.equalsIgnoreCase(s2));
Scanner sc=new Scanner(System.in);
String s6=sc.next();
String s7=sc.next();
String s8=sc.next();
if (s6.length()>s7.length()) {
System.out.println(s6);
}else {
System.out.println(s7);
}
}
}
==========================================
数组的概念与特点
数组的基本用法
使用循环遍历数组
特点
存放相同数据类型
内存中连续分配相同大小的空间
大小一旦确定将不可扩容或缩容
检索元素速度快,而添加和删除元素慢
使用下标访问元素,下标从0开始
使用4步走
1声明数组 int[]=a;
2分配空间 a=new int[5];
3赋值 a[0]=8;或者
4处理数据 a[1]=a[0]*2;
边声明边赋值
int[] ages=new int[]{10,20,30,40,50};
int[] agee={1,2,3,4,5};
动态地从键盘录入信息并赋值
数组的默认值
基本数据类型数组有默认值0,0.0,false等
引用数据类型数组默认值是null
int[] ee= new int[5];
float[] ee2 =new float[5];
boolean[] ee3 =new boolean[5];
String[] ee4 =new String[5];
System.out.println(ee4[3]);
使用循环遍历数组
使用数组的属性length控制循环的次数
使用for循环
使用foreach循环
package demo2;
import java.util.Scanner;
public class VarDemo1 {
public static void main(String[] args) {
int age1,age2,age3,age4,age5;
int[] ages=new int[]{10,20,30,40,50};
int[] agee={1,2,3,4,5};
System.out.println(agee[4]);
/* int[] dd = new int[3];
Scanner input=new Scanner(System.in);
for (int i = 0; i < 4; i++) {
dd[i]=input.nextInt();
}
System.out.println(dd[3]);*/
int[] ee= new int[]{11,22,33,44,55};
float[] ee2 =new float[5];
boolean[] ee3 =new boolean[5];
String[] ee4 =new String[5];
System.out.println(ee4[4]);
System.out.println("-----------------");
for (int i = 0; i < ee.length; i++) {
System.out.println(ee[i]);
}
System.out.println("-----------------");
//ee7是一个临时变量,存储ee的值,这种写法没有下标的概念
for (int ee7 : ee) {
System.out.println(ee7);
}
}
}
一维数组的应用
二维数组的基本用法(用的不是太多)
==========================
判断最大最小值
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
//打擂台算法,比较数组中的最大值或最小值
int[] aa={6,88,99,33,5};
int max=aa[0];
for (int i = 1; i < aa.length; i++) {
if (aa[i]>max) {
max=aa[i];
}
}
System.out.println("最大值:"+max);
System.out.println("-------------");
int min=aa[0];
for (int i = 1; i < aa.length; i++) {
if (aa[i]<min) {
min=aa[i];
}
}
System.out.println("最小值:"+min);
}
}
对上面的进行改造,代码简单一些
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
//打擂台算法,比较数组中的最大值或最小值
int[] aa={60,88,45,33,50};
int max=aa[0],min=aa[0];
for (int i = 1; i < aa.length; i++) {
if (aa[i]>max) {
max=aa[i];
}
if (aa[i]<min) {
min=aa[i];
}
}
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
}
}
==============================
判断数组中的元素是否包含关键字
package demo2;
public class VarDemo1 {
public static void main(String[] args) {
String[] names={"jack","tom","rose"};
String name="tome";
boolean b =false;
for (String string : names) {
if (string.equals(name)) {
b=true;
//加上break减少循环的次数
break;
}
}
if (b) {
System.out.println("存在");
}else {
System.out.println("不存在");
}
}
}
java_basic_基础的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- node-webkit 环境搭建与基础demo
首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Golang, 以17个简短代码片段,切底弄懂 channel 基础
(原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- HTTPS 互联网世界的安全基础
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- redis-server 使用
redis.conf ################################## NETWORK ##################################### bind 127 ...
- 快速测试方法——JUnit
特点:写一个类,里面可以执行多个方法. 在一个方法上面添加@Test,选中方法名,右键run,即可执行当前方法 import org.junit.Test; //注:测试方法要求:不能有返回值,不能有 ...
- RDP服务开启
一.RDP协议概述 远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电 ...
- [luogu P2205] [USACO13JAN]画栅栏Painting the Fence
[luogu P2205] [USACO13JAN]画栅栏Painting the Fence 题目描述 Farmer John has devised a brilliant method to p ...
- 2015-10-12 jQuery4
十. 直接获取.编辑内容 1.获取内容 alert($("#d1").text()); //获取文本内容 alert($("#d1").html()); ...
- Android动画-View动画
View动画 Android动画分为三类:View动画,帧动画,和属性动画.帧动画也是View动画的一种. View动画的作用对象是View,之所以强调这一点是因为其作用对象有别于Android的另一 ...
- Mysql怎么判断繁忙 checkpoint机制 innodb的主要参数
Mysql怎么判断繁忙,innodb的主要参数,checkpoint机制,show engine innodb status 2018年07月13日 15:45:36 anzhen0429 阅读数 ...
- python非技术性问题整理
针对软件安装包,安装时出现下类问题, 解决方法时, 以管理员身份运行命令行, 可以看到,包 正常安装. 在使用bs4,分析html或者xml文档时, 代码无法识别lxml 指令, 可能是python ...
- JVM虚拟机 YGC和FGC发生的具体场景
1.YGC和FGC是什么 YGC :对新生代堆进行gc.频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收.性能耗费较小. FGC :全堆范围的gc.默认堆空间使用到达80%(可调整)的时候会 ...
- kafka分区及副本在broker的分配
kafka分区及副本在broker的分配 部分内容參考自:http://blog.csdn.net/lizhitao/article/details/41778193 以下以一个Kafka集群中4个B ...